1. 程式人生 > >C# 兩種啟動bat檔案方法的區別——關鍵在於程序的工作目錄

C# 兩種啟動bat檔案方法的區別——關鍵在於程序的工作目錄

1、 
private void RunBat(string batPath)
{
   Process pro = new Process();
   FileInfo file = new FileInfo(batPath);
   pro.StartInfo.WorkingDirectory = file.Directory.FullName;
   pro.StartInfo.FileName = batPath;
   pro.StartInfo.CreateNoWindow = false;
   pro.Start();
} 
2、
System.Diagnostics.Process.Start(@str);
1和2在啟動bat檔案上的區別:
因為程序有個工作目錄的概念。比如說bat裡直接寫的是檔名,那這個檔案是相對於程序工作目錄的,而不是bat所在檔案目錄;如果直接
ProcessStart,工作目錄是你自己的exe的目錄,從而導致啟動的程序,在找相對路徑失敗。