【发布时间】:2012-02-01 12:30:23
【问题描述】:
我正在尝试通过 VB 运行批处理文件,我需要等待它完成/退出才能继续。我相信我遇到的问题是,当执行批处理文件时,它会打开 cmd.exe 而不是批处理文件。
这就是我用 VB 执行的操作
My.Computer.FileSystem.DeleteFile(My.Application.Info.DirectoryPath & "\PingCheck\machines.txt")
FileCopy(My.Application.Info.DirectoryPath & "\machines.txt", My.Application.Info.DirectoryPath & "\PingCheck\machines.txt")
Dim psi As New ProcessStartInfo(My.Application.Info.DirectoryPath & "\PingCheck\go.bat")
psi.RedirectStandardError = True
psi.RedirectStandardOutput = True
psi.CreateNoWindow = False
psi.WindowStyle = ProcessWindowStyle.Hidden
psi.UseShellExecute = False
Dim process As Process = process.Start(psi)
process.WaitForExit()
ProgressBar1.Value = ProgressBar1.Value + 2
FileCopy(My.Application.Info.DirectoryPath & "\PingCheck\machines.txt", My.Application.Info.DirectoryPath & "\machines.txt")
'My.Computer.FileSystem.DeleteFile(My.Application.Info.DirectoryPath & "\ping.bat")
MsgBox("Ping Check Complete")
我遇到的问题是它只会在完成之前删除 ping.bat。
我如何从我调用的批处理文件中监视进程。然后一旦退出,继续执行脚本?
【问题讨论】:
标签: vb.net