whytheq
whytheq

Reputation: 35557

Why does the UNC pathway not work when running batch file from console?

I have a very simple batch file:

echo Text > Test.txt

This file is saved here:

R:\Testing123.bat
full UNC pathway is
\\imfile\depart$\DB\Testing123.bat

In my console application the following runs:

Process myProcess = new Process();
myProcess.StartInfo.UseShellExecute = true;
myProcess.StartInfo.WorkingDirectory = @"R:\";
myProcess.StartInfo.FileName = @"Testing123.bat";
myProcess.StartInfo.CreateNoWindow = true;
myProcess.Start();

This does not run if I use the full pathway:

Process myProcess = new Process();
myProcess.StartInfo.UseShellExecute = true  ;
myProcess.StartInfo.WorkingDirectory = @"\\imfile\depart$\DB\";
myProcess.StartInfo.FileName = @"Testing123.bat";
myProcess.StartInfo.CreateNoWindow = true;
myProcess.Start();

Can I not use these UNC pathways for the WorkingDirectory property? I thought when programming it was always best practice to use these pathways?

EDIT

Using one of the suggestions I now have the following which unformtunately still doesn't work :

{

    Process myP = new Process();
    myP.StartInfo.UseShellExecute = false;
    string myString = @"pushd \\imfile\depart$\DB";
    myP.StartInfo.FileName = "cmd";
    myP.StartInfo.Arguments = myString;
    myP.StartInfo.CreateNoWindow = true;
    myP.Start();

    Process myProcess = new Process();
    myProcess.StartInfo.UseShellExecute = true  ;
    myProcess.StartInfo.WorkingDirectory = @"\\imfile\depart$\DB";
    //myProcess.StartInfo.WorkingDirectory = @"R:\";
    myProcess.StartInfo.FileName = @"Testing123.bat";
    myProcess.StartInfo.CreateNoWindow = true;
    myProcess.Start();

}

Upvotes: 0

Views: 1123

Answers (1)

Maximus
Maximus

Reputation: 10845

bat-files are executed via cmd.exe, which (by default) does not allows UNC paths as "working directory". However, you may change this behavoir via registry.

 [HKEY_CURRENT_USER\Software\Microsoft\Command Processor]
 "DisableUNCCheck"=dword:00000001

http://support.microsoft.com/kb/156276

This information is known to me from Far Manager TechInfo Section 2.2.

Upvotes: 1

Related Questions