私は、次のVBScript(check.vbs
)を実行しています:特定の実行プロセスに対してループチェックvbsを実行するにはどうすればよいですか?またはプロセスがありませんか?
Set service = GetObject ("winmgmts:")
For Each Process In Service.InstancesOf("Win32_Process")
If Process.Name = "cmd.exe" Then
WScript.Echo "cmd running"
WScript.Quit
End If
Next
CreateObject("WScript.Shell").Run("C:\system\file.bat")
このスクリプトはcmd.exe
が稼働しているかどうかをチェックします。実行中の場合、このスクリプトは "cmd running"というメッセージを表示します。実行されていない場合、このスクリプトはバッチファイルC:\system\file.bat
を開きます。
私が実際に必要としているのは、このスクリプトを実行するときには、cmd.exe
が実行されていないことがわかるまでチェックを続ける必要があります。
cmd.exe
が実行されていないことが判明した場合のみ、バックグラウンドで繰り返しチェックした後で(ループプログラムのように)file.bat
を実行する必要があります。簡単な言葉で
、check.vbs
スクリプトを開いて、それが動作していない見つけたら、それはfile.bat
を開く必要があり、継続的にcmd.exe
が実行中かされていないことを確認する必要があります。
あなたのコードは、すでに何をすべきあなたは説明しました。または、CMDが見つかったか、 'file.bat'が実行された後に繰り返したいと思っていますか?無限ループで? –
私はプロセスをチェックし続ける連続ループプログラムが必要です。 cmd.exeが処理中に見逃した場合、 'file.bat'を開く必要があります。 incase cmd.exeプロセスは 'check.vbs'プログラムのどこかで開かれ、継続的にチェックする必要があります。プロセスの「継続チェック」。 cmdを開いたままにして閉じるまでチェックを続けます。自動的に開く 'file.bat' –