VB経由でバッチファイルを実行しようとしていますが、処理が完了するまで待つ必要があります。私が思っている問題は、バッチファイルを実行すると、バッチファイルではなくcmd.exeが開かれることです。続行する前にバッチファイルが閉じるのを待つ - VB.net
これが持つ問題イムは、それが完了する前に、それだけでping.batを削除することで、私は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")
で実行していますものです。
私が呼び出したバッチファイルからプロセスを監視する方法を教えてください。それから終了したら、スクリプトを続けますか?
ありがとう、しかし、私はこれが働いていると確信していません。 これに合わせてスクリプトを微調整しましたが、完了していると思われる前にMessageBoxが表示されます。最初の投稿を参照してください – K20GH
なぜですか?どの部分がうまくいかないと思いますか? –
これは\ PingCheck \ go.batを実行するように指示し、完了する前にメッセージボックスを表示します。 実際にgo.batが実行され、pingテストのループが設定されているため、これらが完了するまで閉じることはありません。 – K20GH