2016-08-22 175 views
0

我正在使用C#開發Windows應用程序。按鈕點擊打開.bat文件並運行腳本。當我這樣做:進程結束等待退出

var proc = Process.Start(@"filelocation.bat"); 
proc.WaitForExit(); 

它不適合我。當我點擊該文件夾中的腳本時工作正常。從按鈕單擊它將打開幾秒鐘並關閉窗口。

+1

然後,它聽起來像你的心不是應用的思考當前目錄是該filelocation.bat是..... – BugFinder

+0

我也試圖在C#項目移到整個腳本文件夾 - 資源文件夾。然後在按鈕點擊中引用該路徑 - 相同的結果。它打開個性,但從應用程序關閉。如何讓應用程序知道當前目錄? – Salah

+0

閱讀流程類 - 它有很多選項,其中之一就是它的起點 – BugFinder

回答

-1
This following one worked for me! 
using System.Diagnostics; 
public void ExecuteBatFile() 
     { 
      Process proc = null; 
      string _batDir = string.Format(@"C:\"); //File path Location 
      proc = new Process(); 
      proc.StartInfo.WorkingDirectory = _batDir; 
      proc.StartInfo.FileName = "myfile.bat"; // Batch File name 
      proc.Start(); 
      proc.WaitForExit(); 
      proc.Close(); 
     }