バッチジョブのエラー 1 つに問題があります。現在、バッチジョブが正常に完了したかどうかを示すログ ファイルを使用して、毎日 50 個のバッチジョブを実行しています。先週、いくつかのエラーに気付きましたが、現在、バッチジョブがエラーで失敗したかどうかを表示または通知するコントロールがありません。私のバッチジョブは、sqlplus を介して af スクリプトを開始しています。errorlevel を使用しようとしましたが、id が機能しませんでした。
私のバッチジョブはこれまでのところこのようになっています。使用しようとしたエラーレベルのコードを含めました。
@Echo Off
@For /F "tokens=1,2,3,4 delims=-/ " %%A in ('Date /t') do @(
Set Day=%%A
Set Month=%%B
Set Year=%%C
Set All=%%A-%%B-%%C
)
@For /F "tokens=1,2,3 delims=:,. " %%A in ('echo %time%') do @(
Set Hour=%%A
Set Min=%%B
Set Sec=%%C
Set Allm=%%A.%%B.%%C
)
@For /F "tokens=3 delims=: " %%A in ('time /t ') do @(
Set AMPM=%%A
@Echo On
)
echo Start: %date% %time% >> ..\log\Scriptname_%All%_%Allm%.log
sqlplus "Script" >> ..\log\Scriptname_%All%_%Allm%.log
IF %errorlevel% NEQ 0 GOTO :Error
GOTO :Success
:error
echo There was an error.
echo Stop: %date% %time% >> ..\log\Scriptname_%All%_%Allm%.log
EXIT 1
:end
echo Success.
echo Stop: %date% %time% >> ..\log\Scriptname_%All%_%Allm%.log
EXIT 0