我有以下运行bat文件的代码。然后bat文件运行一些.exe ..它做了一些事情。这些东西需要5到10秒钟。
ProcessStartInfo start = new ProcessStartInfo
{
Arguments = "\"" + newTargetFile + "\"" +
" " +
"\"" + originalFile.FullName + "\"",
FileName = filename,
WindowStyle = ProcessWindowStyle.Normal,
CreateNoWindow = false,
UseShellExecute = false
};
// Run the external process & wait for it to finish
using (Process proc = Process.Start(start))
{
proc.WaitForExit();
}
我要做的是让命令窗口保持打开状态,即使在进程终止后也是如此。有没有办法做到这一点?
否则,我可以将该窗口的所有输出转到我的调试器,所以我不需要担心这个窗口仍然存在吗?
欢呼声。
答案 0 :(得分:1)
如果您使用/ k参数运行cmd解释器并将批处理文件名作为下一个参数传递,那么您应该得到您所追求的内容。 / k参数告诉Windows在完成任何你告诉它做下一个参数的事情时,让cmd解释器保持打开状态。
您当然也可以使用RedirectStandardOutput属性,但我认为最终会更复杂。
答案 1 :(得分:0)
使用/ k参数尝试这样的事情以保持打开终端:
output.flush()