我正在尝试启动一个新的cmd进程,从运行批处理文件到设置环境以及运行自定义命令。这可能吗?
到目前为止,我有:
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 :(得分: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";