MS-DOS dan Windows command line if command

Daftar Isi:

MS-DOS dan Windows command line if command
MS-DOS dan Windows command line if command

Video: Windows Command Line Tutorial - 9 - Copying and Moving Files 2024, Mungkin

Video: Windows Command Line Tutorial - 9 - Copying and Moving Files 2024, Mungkin
Anonim

The jika melakukan perintah pengolahan kondisional dalam program batch.

Ketersediaan

Perintah if adalah perintah internal yang diakses dan digunakan dalam file batch.

  • Windows 95
  • Windows 98
  • Windows NT
  • Windows XP
  • Windows 2000
  • Windows Vista
  • Windows 7
  • Windows 8
  • Windows 10

Sintaksis

  • Windows Vista dan sintaks yang lebih baru.
  • Windows XP dan sintaksis sebelumnya.

Windows Vista dan sintaks yang lebih baru

JIKA [TIDAK] ERRORLEVEL perintah angka JIKA [TIDAK] string1 == perintah2 JIKA [TIDAK] ADA perintah nama file

TIDAK Menentukan bahwa Windows 2000 atau XP harus menjalankan perintah hanya jika kondisinya salah.
Nomor ERRORLEVEL Menentukan kondisi sebenarnya jika program terakhir dijalankan mengembalikan kode keluar sama dengan atau lebih besar dari angka yang ditentukan.
string1 == string2 Menentukan kondisi sebenarnya jika string teks yang ditentukan cocok.
Nama file ADA Menentukan kondisi sebenarnya jika nama file yang ditentukan ada.
perintah Menentukan perintah yang harus dilakukan jika kondisi terpenuhi. Perintah dapat diikuti oleh perintah ELSE yang akan mengeksekusi perintah setelah kata kunci ELSE jika kondisi yang ditentukan FALSE.

Klausa ELSE harus muncul pada baris yang sama dengan perintah setelah IF. Sebagai contoh:

JIKA ADA nama file. (nama file del.) ELSE (nama file gema. hilang.)

Contoh di bawah ini TIDAK akan berfungsi karena perintah del perlu diakhiri oleh baris baru:

JIKA ADA nama file. nama file del. ELSE nama file gema. hilang

Contoh di bawah juga tidak akan berfungsi, karena perintah ELSE harus berada di baris yang sama dengan akhir perintah IF:

JIKA ADA nama file. nama file del. ELSE nama file gema. hilang

Contoh di bawah ini akan berfungsi jika Anda ingin semuanya dalam satu baris:

JIKA ADA nama file. (del nama file.) ELSE nama file gema. hilang

Jika Ekstensi Perintah diaktifkan, JIKA berubah sebagai berikut:

JIKA [/ I] string1 bandingkan-op string2 perintah JIKA CMDEXTVERSION perintah angka JIKA DITETAPKAN perintah variabel

di mana perbandingan-op dapat menjadi salah satu dari:

  • EQU - sama
  • NEQ - tidak sama
  • LSS - kurang dari
  • LEQ - kurang dari atau sama
  • GTR - lebih besar dari
  • GEQ - lebih besar dari atau sama

dan / I switch, jika ditentukan, mengatakan untuk melakukan perbandingan string case-insensitive. Switch / I juga dapat digunakan pada string1 == string2 bentuk IF. Perbandingan ini bersifat generik, jika string1 dan string2 terdiri dari semua digit angka, maka mereka dikonversi ke angka dan perbandingan numerik dilakukan.

Persyaratan CMDEXTVERSION berfungsi seperti ERRORLEVEL, kecuali membandingkan dengan nomor versi internal yang terkait dengan Extensions Perintah. Versi pertama adalah 1. Ini akan bertambah satu ketika peningkatan signifikan ditambahkan ke Ekstensi Perintah. Persyaratan CMDEXTVERSION tidak pernah benar ketika Ekstensi Perintah dinonaktifkan.

Conditional DEFINED berfungsi seperti EXISTS kecuali itu mengambil nama variabel lingkungan dan mengembalikan true jika variabel lingkungan didefinisikan.

% ERRORLEVEL% berkembang menjadi string dengan nilai saat ini ERRORLEVEL, asalkan belum ada variabel lingkungan dengan nama ERRORLEVEL, dalam hal ini Anda mendapatkan nilainya. Setelah menjalankan program, contoh di bawah ini menggambarkan penggunaan ERRORLEVEL:

goto answer% ERRORLEVEL%: answer0 echo Program memiliki kode pengembalian 0: answer1 echo Program memiliki kode pengembalian 1

Anda juga dapat menggunakan perbandingan angka di bawah ini:

JIKA% ERRORLEVEL% LEQ 1 kebagian oke

% CMDCMDLINE% berkembang ke baris perintah yang dilewatkan ke CMD.EXE sebelum diproses oleh CMD.EXE, asalkan tidak ada variabel lingkungan CMDCMDLINE, dalam hal ini Anda mendapatkan nilainya.

% CMDEXTVERSION% berekspansi ke string nilai CMDEXTVERSION, asalkan belum ada variabel lingkungan dengan nama CMDEXTVERSION, dalam hal ini Anda mendapatkan nilainya.

Windows XP dan sintaksis sebelumnya

Melakukan pemrosesan bersyarat dalam program batch.

JIKA [TIDAK] ERRORLEVEL perintah angka JIKA [TIDAK] string1 == perintah2 JIKA [TIDAK] ADA perintah nama file

TIDAK Menentukan bahwa Windows harus menjalankan perintah hanya jika kondisinya salah.
Nomor ERRORLEVEL Menentukan kondisi sebenarnya jika program terakhir dijalankan mengembalikan kode keluar sama dengan atau lebih besar dari angka yang ditentukan.
perintah Menentukan perintah yang harus dilakukan jika kondisi terpenuhi.
string1 == string2 Menentukan kondisi sebenarnya jika string teks yang ditentukan cocok.
Nama file ADA Menentukan kondisi sebenarnya jika nama file yang ditentukan ada.