2017-09-18 10 views
1

私は私が何らかのエラーがXCOPYコピーの処理中に発生した場合、すべてのログファイルに保存する必要があるため、それを検出したいこの突然閉じるかどうかをバッチスクリプトで確認する方法はありますか?

IF(Batch script file suddenly close) 
ECHO SCRIPT FAIL>>LOG.txt 
ELSE (
ECHO DO PROCESS LIKE ALWAYS 

のようなバッチスクリプトでコードを実行する方法にお願いしたいと思います/ペースト。

+3

それが突然閉じた場合は...スクリプトが実行し続けるようにしたいですか?何? – SomethingDark

+0

私は突然スクリプトが閉じられた場合、log.txtにエラーが発生したことを記録します –

+3

スクリプトが突然終了するかどうかをスクリプトがどのように知ることができますか?スクリプトはもう実行されていないので、何もする方法がありません。死んだ人が彼らが死んでいることを知らないようなものです。 – SomethingDark

答えて

2

実行するバッチファイルをバッチファイルで呼び出すとどうなりますか?これは、現在実行中のシェルが何らかの方法で殺されたりエラーになったりする状況を処理しません。

これでは不十分な場合は、正常に完了して作成されたファイルが存在するかどうかスクリプトで確認する必要があります。成功したファイルが存在しない場合は、必要に応じてクリーンアップします。

1.bat

@ECHO OFF 
SETLOCAL 

CALL 2.bat 
SET "EXITCODE=%ERRORLEVEL%" 
IF %EXITCODE% NEQ 0 (
    ECHO ERROR: Script 2.bat failed, ERRORLEVEL = %EXITCODE% 
) ELSE (
    ECHO NB: Back from 2.bat, process normally 
) 
EXIT /B %EXITCODE% 

2.bat

@ECHO OFF 
ECHO NB: Starting 2 
ping -n 10 localhost 
ECHO NB: in 2 ERRORLEVEL is %ERRORLEVEL% 
EXIT /B %ERRORLEVEL% 
関連する問題