0

1 つのタスクを実行する 2 つの異なるマシンに 2 つのバッチ ファイルがあります。

最初のバッチがマシン A にあり、2 番目のバッチがマシン B にあるとします。

マシン A で 1 つのバッチが失敗した場合、マシン B で 2 番目のバッチをスキップする必要があります。

私のスクリプトで最初のバッチファイルが失敗した場合、2番目のバッチファイルを実行しても意味がないためです。

何かご意見は。

ありがとう。

4

3 に答える 3

2

WAITFORを使用できます

マシン B で、スクリプト A が終了するまで 2 分間待機する

WAITFOR /T 120 mySignal
IF errorlevel 1 (
    Echo Script A failed
)

そして、マシン A で、すべてが問題なければ、マシン B に信号を送信して続行します

WAITFOR /S machineB /SI mySignal
于 2013-11-05T13:24:39.293 に答える
1

マシン A のバッチ ファイルがどのように失敗するかによって異なります。

バッチ A の exe が終了した場合は、PSexec を使用してマシン A のタスクリストを確認し、実行されていない場合はバッチ B に分岐できます。

ただし、EXE が応答しない場合はタスクリストに残り、応答がないかどうかを検出する必要があります。

于 2013-11-05T13:15:34.557 に答える
0

IF ERRORLEVEL建設を使用してみてください。

最初のバッチ ファイルEXIT 0は、問題がない場合 (例: ) および問題がある場合(例: )、特別なコードを返す必要がありEXIT 1ます。

スクリプトは、2 番目のバッチ ファイルを実行する前に、このエラー コードをチェックします。次のようになります。IF ERRORLEVEL 0 CALL SECOND.BAT

于 2013-11-05T13:06:18.380 に答える