Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Melakukan pemrosesan bersyarah dalam program batch.
Sintaksis
if [not] ERRORLEVEL <number> <command> [else <expression>]
if [not] <string1>==<string2> <command> [else <expression>]
if [not] exist <filename> <command> [else <expression>]
Jika ekstensi perintah diaktifkan, gunakan sintaks berikut:
if [/i] <string1> <compareop> <string2> <command> [else <expression>]
if cmdextversion <number> <command> [else <expression>]
if defined <variable> <command> [else <expression>]
Parameter-parameternya
Pengaturan | Deskripsi |
---|---|
tidak | Menentukan bahwa perintah harus dilakukan hanya jika kondisi salah. |
<number> errorlevel |
Menentukan kondisi true hanya jika program sebelumnya yang dijalankan oleh Cmd.exe mengembalikan kode keluar yang sama dengan atau lebih besar dari angka . |
<command> |
Menentukan perintah yang harus dilakukan jika kondisi sebelumnya terpenuhi. |
<string1>==<string2> |
Menentukan kondisi true hanya jika string1 dan string2 sama. Nilai-nilai ini dapat berupa string literal atau variabel batch (misalnya, %1 ). Anda tidak perlu mengapit string harfiah dalam tanda kutip. |
<filename> ada |
Menentukan kondisi true jika nama file yang ditentukan ada. |
<compareop> |
Menentukan operator perbandingan tiga huruf, termasuk:
|
/saya | Memaksa perbandingan string untuk mengabaikan kasus. Anda dapat menggunakan /i pada bentuk string1==string2 jika. Perbandingan ini umum, karena jika string1 dan string2 hanya terdiri dari digit numerik, string dikonversi ke angka dan perbandingan numerik dilakukan. |
<number> cmdextversion |
Menentukan kondisi true hanya jika nomor versi internal yang terkait dengan fitur ekstensi perintah Cmd.exe sama dengan atau lebih besar dari angka yang ditentukan. Versi pertama adalah 1. Ini meningkat dengan kenaikan satu ketika peningkatan yang signifikan ditambahkan ke ekstensi perintah. Cmdextversion kondisional tidak pernah benar ketika ekstensi perintah dinonaktifkan (secara default, ekstensi perintah diaktifkan). |
<variable> yang ditentukan |
Menentukan kondisi true jika variabel ditentukan. |
<expression> |
Menentukan perintah baris perintah dan parameter apa pun yang akan diteruskan ke perintah dalam klausa lainnya. |
/? | Menampilkan bantuan pada prompt perintah. |
Komentar
Jika kondisi yang ditentukan dalam jika klausul benar, perintah yang mengikuti kondisi dilakukan. Jika kondisi salah, perintah dalam jika klausa diabaikan dan perintah menjalankan perintah apa pun yang ditentukan dalam lain klausa.
Ketika program berhenti, program mengembalikan kode keluar. Untuk menggunakan kode keluar sebagai kondisi, gunakan parameter errorlevel.
Jika Anda menggunakan yang ditentukan, tiga variabel berikut ditambahkan ke lingkungan: %errorlevel%, %cmdcmdline%, dan %cmdextversion%.
%errorlevel%: Memperluas ke representasi string dari nilai variabel lingkungan ERRORLEVEL saat ini. Variabel ini mengasumsikan bahwa belum ada variabel lingkungan yang ada dengan nama ERRORLEVEL. Jika ada, Anda akan mendapatkan nilai ERRORLEVEL sebagai gantinya.
%cmdcmdline%: Memperluas ke baris perintah asli yang diteruskan ke Cmd.exe sebelum pemrosesan apa pun dengan Cmd.exe. Ini mengasumsikan bahwa belum ada variabel lingkungan yang ada dengan nama CMDCMDLINE. Jika ada, Anda akan mendapatkan nilai CMDCMDLINE sebagai gantinya.
%cmdextversion%: Memperluas ke representasi string dari nilai cmdextversion saat ini. Ini mengasumsikan bahwa belum ada variabel lingkungan yang ada dengan nama CMDEXTVERSION. Jika ada, Anda akan mendapatkan nilai CMDEXTVERSION sebagai gantinya.
Anda harus menggunakan klausa lain pada baris yang sama dengan perintah setelah jika.
Contoh
Untuk menampilkan pesan Tidak dapat menemukan file data jika file Product.dat tidak dapat ditemukan, ketik:
if not exist product.dat echo Cannot find data file
Untuk memformat disk di drive A dan menampilkan pesan kesalahan jika terjadi kesalahan selama proses pemformatan, ketik baris berikut dalam file batch:
:begin
@echo off
format a: /s
if not errorlevel 1 goto end
echo An error occurred during formatting.
:end
echo End of batch program.
Untuk menghapus file Product.dat dari direktori saat ini atau menampilkan pesan jika Product.dat tidak ditemukan, ketik baris berikut dalam file batch:
IF EXIST Product.dat (
del Product.dat
) ELSE (
echo The Product.dat file is missing.
)
Nota
Baris-baris ini dapat digabungkan menjadi satu baris sebagai berikut:
IF EXIST Product.dat (del Product.dat) ELSE (echo The Product.dat file is missing.)
Untuk menggemakan nilai variabel lingkungan ERRORLEVEL setelah menjalankan file batch, ketik baris berikut dalam file batch:
goto answer%errorlevel%
:answer1
echo The program returned error level 1
goto end
:answer0
echo The program returned error level 0
goto end
:end
echo Done!
Untuk masuk ke label oke jika nilai variabel lingkungan ERRORLEVEL kurang dari atau sama dengan 1, ketik:
if %errorlevel% LEQ 1 goto okay