我需要在vb.Net
中的模块中执行批处理文件,但问题是我执行相同的文件,如果完成或不完成,程序将执行下一步。
如果执行下一步,我的过程就中断了,因为这是一个创建文本文件的过程,下一步是在数据库mysql
中上传。
我尝试在synlock中执行,没有任何区别,如何使用synlock来完成批处理文件的执行。
我的代码是:
Dim myLock As Object
synlock myLock
Dim pProces As Process = Process.Start(psi)
End synlock
delay(350)
PS:延迟是对线程等待的重命名,进程在等待中继续,但我需要知道它何时完成执行批处理文件。
如果我完全理解您的问题,那么您需要等待批处理文件完成执行,然后再转到代码的下一部分。
您可以使用process.HasExited
来等待进程完成。
Dim pProces As Process = Process.Start(psi)
While Not pProces.HasExited
System.Windows.Forms.Application.DoEvents ' if this is a windows form or console app
End While
If pProces.ExitCode = 0 Then
' Continue your next step here
Else
' Error occured while running the batch file
End If
或
您可以使用Process.Exited事件。