在Process.Start(..)期间保持外部命令窗口打开的任何方法?

时间:2009-05-25 04:46:31

标签: .net process

我有以下运行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();
}

我要做的是让命令窗口保持打开状态,即使在进程终止后也是如此。有没有办法做到这一点?

否则,我可以将该窗口的所有输出转到我的调试器,所以我不需要担心这个窗口仍然存在吗?

欢呼声。

2 个答案:

答案 0 :(得分:1)

如果您使用/ k参数运行cmd解释器并将批处理文件名作为下一个参数传递,那么您应该得到您所追求的内容。 / k参数告诉Windows在完成任何你告诉它做下一个参数的事情时,让cmd解释器保持打开状态。

您当然也可以使用RedirectStandardOutput属性,但我认为最终会更复杂。

答案 1 :(得分:0)

使用/ k参数尝试这样的事情以保持打开终端:

output.flush()