ここではそれを行う必要があり、単純なループです:
:CheckAgain
tasklist | findstr "TheCProgram.exe"
if errorlevel 1 (timeout /T 2 & goto :CheckAgain)
01これはチェックここ
:CheckAgain :: A label for the start of the loop
tasklist :: Get list of running programs
findstr "TheCProgram.exe" :: Search to see if the program C is running?
if errorlevel 1 :: If there was an error, then the program is not yet running.
timeout /T 2 :: Wait 2 seconds
& goto :CheckAgain :: Go start the loop again to look for the program.
(軽く試験し、堅固でなくてもよい)
私は使用したサンプルスクリプトで、
@echo off
:CheckAgain
tasklist | findstr "calc.exe"
if errorlevel 1 (timeout /T 2 & goto :CheckAgain)
echo The Calculator Program is now running.
を:ダウンブロークン
標準ウィンドウの計算機calc.exe
は、簡単に開始できます。私はcmd
でバッチファイルを開始し、2〜3回タイムアウトした後、計算機を起動します。バッチファイルは、calc
が実行されていることを正しく検出し、バッチファイルを終了します。
'/ wait'は単独ではコマンドではありません。これは 'START'コマンドのオプションです。 – Squashman
'Sleep'も標準的なコマンドではありません。**コマンドプロンプト**ウィンドウに以下を入力して詳細を調べることをお勧めします。 「開始/?」、「タイムアウト/?」、「タスクキル/?」これらのコマンドの仕組みを理解したら、上記のスクリプトを更新し、必要に応じて投稿を編集します。 – Compo
ありがとう!私はスタートコマンドを使用できないようになった今、ちょっと分かりましたね。私はどのようにして、スクリプトは、(バッチによって開始されていない)exeを待つようにしますか? – araraf