私は自分が持っているいくつかの小さなスクリプトをテストしています。この特定のものは私を夢中にさせています。私の考えでは、それは機能するはずですが、私が思っていたように機能していません。
@echo off
echo testing the issue
echo.
ECHO Checking the log file for errors...
echo %errorlevel%
FINDSTR /C:"open failed" C:\automatic_deployment\test1.txt
echo %errorlevel%
if %errorlevel% == 0 (
ECHO Deployment failed.
pause
GOTO quit) else (GOTO TSTErrChecking1)
:TSTErrChecking1
FINDSTR /C:"does not exist" C:\automatic_deployment\test1.txt
echo %errorlevel%
if %errorlevel% == 0 (
ECHO Deployment failed.
pause
GOTO quit) else (GOTO TSTErrChecking2)
:TSTErrChecking2
FINDSTR /C:"Logon failed" C:\automatic_deployment\test1.txt
echo %errorlevel%
if %errorlevel% == 0 (
ECHO Deployment failed.
pause
GOTO quit) else ( GOTO TSTErrChecking3)
:TSTErrChecking3
FINDSTR /C:"Failure" C:\automatic_deployment\test1.txt
echo %errorlevel%
if %errorlevel% == 0 (
ECHO Deployment failed.
pause
GOTO quit) else ( GOTO TSTErrChecking4)
:TSTErrChecking4
FINDSTR /C:"RC (return code) = 0" C:\automatic_deployment\test1.txt
echo %errorlevel%
IF %ERRORLEVEL% == 0 (
ECHO Deployment was successful.
pause
GOTO quit) ELSE (
ECHO Deployment failed.
pause
GOTO quit)
:quit
exit
ご覧のとおり、私は「FINDSTR」を使用して小さなtest1.txtファイルから特定の単語/文字列を検索し、それに応じて動作しています。「デプロイに失敗しました」と表示し、「失敗」/「存在しない」/「オープンに失敗」が表示された場合はできるだけ早く終了します。上記のいずれも見つからず、「RC(戻りコード)= 0」が見つかった場合は、「成功」したと言いたいです。
したがって、これらすべてのテスト単語と文字列をtest1.txtファイルに入れて、バッチスクリプトをテストしましたが、失敗したヒント/単語をすべてスキップし続け(私は思う)、成功したと言い続けます。Plz、助けて。前もって感謝します。