如何等待,直到我的batch file完成

我正在做一个程序,我需要启动cmd,并启动一个batch file。 问题是我正在使用MyProcess.WaithForexit(); 我认为它不会等待batch file处理完成。 它只是等到cmdclosures。 我的代码到目前为止:

 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(); 

我需要等到batch file完成。 我怎么做?

Solutions Collecting From Web of "如何等待,直到我的batch file完成"

启动命令的参数可以使启动的程序WAIT完成。 编辑参数,如下所示传递'/等待':

 ProcStartInfo.Arguments = "/c start /wait batch.bat "; 

我也建议你想让你的批处理文件退出cmd环境,所以在批处理结束时放置一个'exit'。

 @echo off rem Do processing exit 

这应该达到预期的行为。