Di dalam file batch di Windows, saya menggunakan 7-zip seperti ini:
...\right_path\7z a output_file_name.zip file_to_be_compressed
Bagaimana saya bisa memeriksa kode keluar 7zdan mengambil tindakan yang sesuai?
Di dalam file batch di Windows, saya menggunakan 7-zip seperti ini:
...\right_path\7z a output_file_name.zip file_to_be_compressed
Bagaimana saya bisa memeriksa kode keluar 7zdan mengambil tindakan yang sesuai?
Jawaban:
Tes untuk kode pengembalian lebih besar dari atau sama dengan 1:
if ERRORLEVEL 1 echo Error
atau
if %ERRORLEVEL% GEQ 1 echo Error
atau uji untuk kode pengembalian sama dengan 0:
if %ERRORLEVEL% EQU 0 echo OK
Anda bisa menggunakan perintah lain seperti GOTOtempat saya tunjukkan echo.
0 was unexpected this time.
%ERRORLEVEL%0 meskipun terjadi kesalahan. Terjadi ketika memeriksa %ERRORLEVEL%dalam file cmd. Berusaha start /waittidak berhasil. Satu-satunya hal yang berhasil adalahif errorlevel 1 (...)
NEQdaripada EQUmendukung mendeteksi kode pengembalian negatif? Tidak tahu apakah Windows XP melakukan itu, tetapi itu adalah hal pada Windows modern ...
Ini benar-benar berfungsi ketika Anda memiliki: Panggilan App1.exe -> .bat yang berjalan -> app2.exe
App2 mengembalikan errorlevel 1 ... tetapi Anda harus menangkapnya di .bat dan menaikkannya kembali ke app1 ... jika tidak .bat memakan errorlevel dan app1 tidak pernah tahu.
Metode:
Di .bat:
app2.exe
if %ERRORLEVEL% GEQ 1 EXIT /B 1
Ini adalah pemeriksaan setelah app2 untuk tingkat kesalahan. Jika> 0, maka .bat keluar dan setel tingkat kesalahan ke 1 untuk aplikasi panggilan1.
if %ERRORLEVEL% GEQ 1 EXIT /B %ERRORLEVEL%.
IF %ERRORLEVEL% NEQ 0 EXIT /B %ERRORLEVEL%mungkin opsi yang lebih baik. Tetapi Anda benar-benar perlu tahu program apa yang mengembalikan kesalahan. Beberapa program mengembalikan kode non-nol tertentu untuk jenis kesuksesan khusus.