如何批处理文件一起运行?

时间:2015-11-02 22:11:12

标签: vb.net batch-file

如果我要在VB.NET中一个接一个地运行多个批处理文件,它们会同时运行还是等待第一批文件完成然后继续下一个?

2 个答案:

答案 0 :(得分:3)

它们将同时运行,除非您不遗余力地防止这种情况发生。一旦启动进程,Process.Start()就不会阻止。但是,您可以使用Process.WaitForExit()阻止。

例如,这将同时运行3个批处理文件:

  System.Diagnostics.Process.Start("batch.bat")
  System.Diagnostics.Process.Start("batch.bat")
  System.Diagnostics.Process.Start("batch.bat")

这将一次运行一个:

  System.Diagnostics.Process.Start("batch.bat").WaitForExit()
  System.Diagnostics.Process.Start("batch.bat").WaitForExit()
  System.Diagnostics.Process.Start("batch.bat").WaitForExit()

通过将进程保存到变量并稍后在代码中调用WaitForExit(),您可以更好地控制何时进行阻止:

  Dim p1 = System.Diagnostics.Process.Start("batch.bat")
  ' Do stuff that doesn't need to wait for process to finish
  p1.WaitForExit()

答案 1 :(得分:1)

他们会一起跑。如果要等待,请创建ProcessStartInfo对象,将其添加到Process.Start调用,并将Start方法的响应分配给进程。然后调用进程的WaitForExit方法。