set checker=0
for %%a in (%namelist%) do (
:startLoop
findstr "completed" %%a_Logs.txt
IF ERRORLEVEL 1 (
IF %checker%==120 (
set checker=0
goto endLoop
)
set /a checker=%checker%+1
@ping 127.0.0.1 -n 1 -w 1000 > nul
findstr "ERROR" %%a_Logs.txt
IF ERRORLEVEL 1 (
echo Waiting 1 second before rechecking (Max 2 mins)
echo time elapsed %checker% seconds
echo.
goto startLoop
)
findstr "ERROR" %%a_Logs.txt
IF NOT ERRORLEVEL 1 (
echo ERROR: %%a Error found
goto endLoop
)
)
findstr "completed" %%a_Logs.txt
IF NOT ERRORLEVEL 1 (
echo %%a completed
)
:endLoop
)
上記のコードは、次のことを実行します。
- 変数名リストを解析します(内容はスペースで区切られます)
- 「完了」が%%a_Logs.txtファイルに存在するかどうかを確認します
- 存在する場合は繰り返し、存在しない場合は同じファイルで文字列「ERROR」を確認します
- ERRORが存在する場合は、ERROR MSGを出力し、反復を終了します
- ERRORが見つからない場合は、反復を終了する前に、次の120秒間再チェックを続けてください
私は次の出力を取得し続けます
FINDSTR:%a_Logs.txtを開くことができません