QA@IT

タスクスケジューラの処理を待つ方法

10287 PV

Windows 8.1のクライアント上のタスクスケジューラに登録されているVBScriptを別のバッチファイルから呼び出して、呼び出したVBScriptが終了するのをまってから、さらに別のタスクを呼び出したいのですが、バッチファイル内で「schtasks /run /tn "タスク名"」でタスクの呼び出しは出来るのですが、このタスクの終了を待つ方法が分かりません。

schtasks /run /tn "xxxxxxxx"
if ERRORLEVEL 0 goto AAAAA

で待とうとしたのですが、タスクの呼び出し自体が成功で戻ってしまって処理が次に進んでしまいます。
呼び出したタスクそのものの処理を待つにはどうすればよいのでしょうか?

回答

set T="xxxxxxxx"

schtasks /run /tn %T%
:LOOP
timeout 1 >NUL
schtasks /tn %T% | findstr "実行中" >NUL
if not errorlevel 1 goto LOOP
編集 履歴 (1)

こんにちは、後ろ向きな情報になりますが・・・

呼び出すタスクの末にファイル作成を追加し、そのファイルが作成されるまでBAT処理を待た、
そのファイルが作成されたら、そのファイルを削除してから次の処理に進むと言う方法があります。
(後ろ向きな解決方法です)

編集 履歴 (0)
ウォッチ

この質問への回答やコメントをメールでお知らせします。