2013-04-10 165 views
1

我正在嘗試啓動一個新的cmd進程,從批處理文件運行到安裝環境以及運行自定義命令。這可能嗎?Windows窗體運行命令

到目前爲止,我有:

Process cmd = new Process(); 
cmd.StartInfo.UseShellExecute = false; 
cmd.StartInfo.Filename = <setup.cmd path> 
cmd.StartInfo.CreateNoWindow = false; 
cmd.StartInfo.RedirectStandardInput = true; 
cmd.Start() 

這個成功建立了環境,但cmd窗口立即關閉,我不能提交多個命令。

+0

您可以直接運行批處理文件並傳遞參數嗎? – 2013-04-10 21:28:00

回答

2

只需添加ProcessStartInfo.Arguments並通過「/ K」作爲價值

Process cmd = new Process(); 
cmd.StartInfo.UseShellExecute = false; 
cmd.StartInfo.Filename = "cmd.exe"; 
cmd.StartInfo.Arguments = "/K"; 
cmd.StartInfo.CreateNoWindow = false; 
cmd.StartInfo.RedirectStandardInput = true; 
cmd.Start() 

傳遞參數/K將強制命令窗口保持開放
可以後還可以添加您的批處理文件的名稱/K

cmd.StartInfo.Arguments = "/K yourbatch.cmd args1 args2"; 
相關問題