内部エラーが私は、アーカイブの内容を一覧表示するために、次の行を実行するバッチファイルを持っている:キャッチバッチファイル(7-ZIP)
"\Program Files\7-Zip\7z.exe" l "\Backup Google Docs.7z"
アーカイブが意図的に破損しています。
cmd.exeを表示する。この:
がどのように私は私のコードでこのエラーをキャッチすることができますか?
内部エラーが私は、アーカイブの内容を一覧表示するために、次の行を実行するバッチファイルを持っている:キャッチバッチファイル(7-ZIP)
"\Program Files\7-Zip\7z.exe" l "\Backup Google Docs.7z"
アーカイブが意図的に破損しています。
cmd.exeを表示する。この:
がどのように私は私のコードでこのエラーをキャッチすることができますか?
すべてのプログラムの終了コードは、バッチスクリプトの変数%ERRORLEVEL%
に格納されています。 7-ZIPマニュアルから
:だから
7-Zip returns the following exit codes:
Code Meaning
0 No error
1 Warning (Non fatal error(s)). For example, one or more files were locked by some other application, so they were not compressed.
2 Fatal error
7 Command line error
8 Not enough memory for operation
255 User stopped the process
:あなたが行うことができます:%ERRORLEVEL%
したがって、あなたがそれらを置く必要があり、N以上であることを
"\Program Files\7-Zip\7z.exe" l "\Backup Google Docs.7z"
if errorlevel 255 goto:user_stopped_the_process
if errorlevel 8 goto:not_enough_memory
if errorlevel 7 goto:command_line_error
if errorlevel 2 goto:fatal_error
if errorlevel 1 goto:ok_warnings
注意、if errorlevel N
チェック降順。
7z.exeの呼び出し直後にERRORLEVELが1に設定されていることを確認し、適切に反応します。 ERRORLEVELは、最後に実行されたプログラムの終了コードです。 1以上の終了コードはエラーを示し、ゼロは成功を示します。 IF ERRORLEVELコマンドは、出口が引数より大きいか等しいかどうかをチェックし、IF ERRORLEVELが1つ以上のエラー・レベルをチェックします。ここで
は一例です:
"\Program Files\7-Zip\7z.exe" l "\Backup Google Docs.7z" > nul
IF ERRORLEVEL 1 goto ziperror
@echo 7-Zip worked
goto :eof
:ziperror
@echo 7-Zip failed
goto :eof
ありがとう。それは完璧に動作します! –