2010-03-28 120 views
4

我試圖通過C#執行命令,但是當我運行下面的代碼時,一個空白的cmd窗口剛剛打開。代碼:通過C#運行DOS命令只是打開空白的cmd窗口

string command = string.Format(@"adb install C:\Users\Mohit\Programming\Android_Workspace\{0}\bin\{0}.apk", appName); 
ProcessStartInfo cmdsi = new ProcessStartInfo("cmd.exe"); 
cmdsi.Arguments = command; 
Process cmd = Process.Start(cmdsi); 

什麼可能是錯的?我相信語法是正確的。

回答

14

您需要在命令前添加/ c參數。

的/ C參數告訴命令 處理器打開,運行指定 命令,然後關閉時,它的完成

string command = string.Format(@"/c adb install C:\Users\Mohit\Programming\Android_Workspace\{0}\bin\{0}.apk", appName); 
ProcessStartInfo cmdsi = new ProcessStartInfo("cmd.exe"); 
cmdsi.Arguments = command; 
Process cmd = Process.Start(cmdsi); 

有關參數的完整列表,請參閱the documentation for cmd

+0

告訴命令處理器在完成時不關閉的參數是什麼? – 2010-03-28 01:07:53

+5

/k有關參數的完整列表,請參閱:http://www.microsoft.com/resources/documentation/windows/xp/all/proddocs/en-us/cmd.mspx?mfr=true – 2010-03-28 01:13:21