News, Product Information, and Tips
Check out our free utlities in the downloads section

Remote Administration



Remote Administration For Windows. Easy remote access of Windows 7, XP, 2008, 2000, and Vista Computers

Click here to find out more

Create Outlook Profiles



No more setup wizards in Outlook. Setup Outlook Profiles automatically from the command line

Click here to find out more

Network Administrator



Reboot Hundreds of computers, disable flash drives, deploy power managements settings.

Click here to get your free copy of Network Administrator. Over 25 plugins to make your life easier

USB Disabler



Disable Flash Drives for specific users, or only allow specific drives.

Click here for your free trial

Search

Archives

Simplify UNC usage in command line batch files

by Steve Wiseman on February 19, 2007 · 12 comments

in Windows

Many times a UNC path does not work properly in a command line bat file. This is a hold over from DOS, a compromise to ensure backward compatibility.

Command Line UNC

I have found a little known command (At least to me). Actually there are two of them.

PUSHD, and POPD

Call PUSHD with a UNC share as a single argument and it automatically maps the UNC share to a drive letter. (It starts at Z: and moves backward). So, if we wanted to run a few command line programs within our share we would call it like this:

pushd \\server\share
command1.exe
command2.exe

Command Line UNC PUSHD

When you are finished, and want to remove the mapping you call popd. Putting it all together we have this:

pushd \\server\share
command1.exe
command2.exe
popd

Command Line UNC POPD

I have tested this with Windows NT 4 SP6, and it works all the way through Vista…so you are safe using it on any of these versions of Windows.

Like this article? Then sign up for my newsletter to get free tips and software sent right to your inbox once a week. Like you, I hate spam – I will never spam, or sell your email address.

Related Articles:

{ 12 comments… read them below or add one }

1 Nihal March 1, 2010 at 3:53 am

Thanks! This worked perfectly when using batch files in XP Mode from within Windows 7 (I had to use it to run Fortran, long story :) )

2 Ciprian Cornea June 22, 2010 at 11:15 am

Thanks Steve!

It did the job also for me too.
Now, the Windows Task Scheduler is able to run my batch job to copy files from a network drive to a Sharepoint share.

Ciprian.

3 Zim June 29, 2010 at 10:25 pm

Won’t map a drive for UNC paths deeper than 2 folders.
Why?

4 ashit kamani July 1, 2010 at 11:14 am

Hii, thanx a lot
dis worked perfectly for me in my project.

5 Cooper September 10, 2010 at 5:51 am

THX a lot … you’ve saved my life :)
this works fine for me :)

6 Padraig January 21, 2011 at 1:09 pm

no this did not work
you click on the batch file script6.bat
which is in \\defile1\apospay
‘\\defile1\apospay’
CMD.EXE was started as the current directory
UNC paths are not supported. Defaulting to Windows Directory
SIMPLEST BATCH FILE –> Follows
pushd \\defile1\apospay
“C:\Program Files\Ipswitch\WS_FTP Professional\ftpscrpt.com” -f \\defile1\apospay\script5.scp
popd

7 Gilad May 2, 2011 at 9:17 am

GREAT ONE!!!!!!!!!!!!

8 Citizen May 25, 2011 at 12:02 pm

This isn’t a hold over from DOS, it’s like by design to avoid potential problems from launching processes from a UNC path and closing the console with the process still running.

It’s also something that can be turned off:
http://support.microsoft.com/kb/156276

9 Steve Wiseman May 25, 2011 at 12:32 pm

Awesome information. Thanks!

10 samba September 23, 2011 at 3:58 pm

This command worked like a charm to me while working with UNC share. Thanks for sharing!!

11 Cole October 28, 2011 at 12:21 pm

Nice! Thanks.

12 anil November 8, 2011 at 4:49 am

Thanks a lot

Leave a Comment

Category Links - Windows Forum - Exchange Forum