暂停执行直到批处理文件完成

时间:2015-05-04 05:19:04

标签: c# batch-file

我正在使用Process运行批处理文件。问题是我希望批处理文件完成其执行,然后应该执行下一组行。 这是代码段。

Process proc = new Process();
proc.StartInfo.FileName = AppDomain.CurrentDomain.BaseDirectory + sFileName+".bat";
proc.StartInfo.WindowStyle = ProcessWindowStyle.Hidden;
proc.Start();
Thread.Sleep(1000);
// Method which will be executed after the batch file
Method1(); 

Method1()只应在批处理文件完成执行时执行。

有人可以帮忙吗?

2 个答案:

答案 0 :(得分:5)

您可以使用此方法:

proc.WaitForExit();

以下是docs

答案 1 :(得分:4)

您只需致电

即可
proc.WaitForExit();
Method1(); 
  

指示Process组件等待指定的毫秒数,以便关联的进程退出。

https://msdn.microsoft.com/en-us/library/ty0d8k56.aspx

注意不需要你的

Thread.Sleep(1000);