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 7z
dan mengambil tindakan yang sesuai?
windows-xp
batch
Misha Moroshko
sumber
sumber
Jawaban:
Tes untuk kode pengembalian lebih besar dari atau sama dengan 1:
atau
atau uji untuk kode pengembalian sama dengan 0:
Anda bisa menggunakan perintah lain seperti
GOTO
tempat saya tunjukkanecho
.sumber
0 was unexpected this time.
%ERRORLEVEL%
0 meskipun terjadi kesalahan. Terjadi ketika memeriksa%ERRORLEVEL%
dalam file cmd. Berusahastart /wait
tidak berhasil. Satu-satunya hal yang berhasil adalahif errorlevel 1 (...)
NEQ
daripadaEQU
mendukung 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:
Ini adalah pemeriksaan setelah app2 untuk tingkat kesalahan. Jika> 0, maka .bat keluar dan setel tingkat kesalahan ke 1 untuk aplikasi panggilan1.
sumber
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.