2013-04-10 167 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"; 
相关问题