c# - 如何等到我的批处理文件完成

标签 c# windows batch-file cmd wait

我正在做一个程序,我需要在其中启动 cmd 并启动一个批处理文件。问题是我正在使用 MyProcess.WaithForexit(); 并且我认为它不会等到批处理文件处理完成。它只是等到 cmd 关闭。到目前为止我的代码:

System.Diagnostics.ProcessStartInfo ProcStartInfo =
    new System.Diagnostics.ProcessStartInfo("cmd");
    ProcStartInfo.RedirectStandardOutput = true;
    ProcStartInfo.UseShellExecute = false;
    ProcStartInfo.CreateNoWindow = false;
    ProcStartInfo.RedirectStandardError = true;
    System.Diagnostics.Process MyProcess = new System.Diagnostics.Process();
    ProcStartInfo.Arguments = "/c start batch.bat ";
    MyProcess.StartInfo = ProcStartInfo;
    MyProcess.Start();
    MyProcess.WaitForExit();

我需要等到批处理文件完成。我怎么做?

最佳答案

这实际上对我来说效果很好:

System.Diagnostics.Process.Start("myBatFile.bat").WaitForExit();

正如米尔顿所说,在批处理文件末尾添加“退出”很可能是个好主意。

干杯

关于c# - 如何等到我的批处理文件完成,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30682629/

相关文章:

c# - 如何在客户端调试我的应用程序 exe

c++ - 关闭控制台时如何正确处理 SIGBREAK?

windows - 需要一个批处理文件来复制新的和更改的文件

windows - 合并\加入三个 FFMPEG 命令(Drawtext/-filter_complex overlay/anullsrc=channel_layout)

c# - 降低单点触控中 native <-> 托管交互的成本

c# - `AsyncLocal` 是否也做 `ThreadLocal` 做的事情?

c# - 使用所有单元格格式将 dataGridView 导出到 Excel

c# - 从 List<int> 返回字符串的最优雅方式

c - dlmalloc 在 Win7 上崩溃

batch-file - PrintUI.dll错误处理