Kui käsk täidab tingimisi töötlemiseks partii programmid.
Saadavus
If-käsk on sisemine käsk, millele pääseb juurde ja mida kasutatakse pakkfailides.
- Windows 95
- Windows 98
- Windows NT
- Windows XP
- Windows 2000
- Windows Vista
- Windows 7
- Windows 8
- Windows 10
Süntaks
- Windows Vista ja hilisem süntaks.
- Windows XP ja varasem süntaks.
Windows Vista ja hilisem süntaks
IF [NOT] ERRORLEVEL numbri käsk IF [EI] string1 == string2 käsk IF [NOT] EXIST filename command
MITTE | Määrab, et Windows 2000 või XP peaks käsku täitma ainult siis, kui tingimus on vale. |
ERRORLEVEL number | Määrab tegeliku tingimuse, kui viimane programmi käitamine tagastab väljumiskoodi, mis on võrdne või suurem kui määratud arv. |
string1 == string2 | Määratleb tegeliku tingimuse, kui määratud tekstistringid vastavad. |
Olemasolev failinimi | Määratleb tegeliku tingimuse, kui määratud failinimi on olemas. |
käsk | Määrab käskluse, mis tuleb täita, kui tingimus on täidetud. Käsklusele võib järgneda käsk ELSE, mis täidab käsu ELSE märksõna järel, kui määratud tingimus on VABA. |
ELSE klausel peab ilmuma samal real kui käsk pärast IF-d. Näiteks:
KUI failinimi on olemas. (del failinimi.) ELSE (kaja failinimi. puudub.)
Allpool toodud näide EI toimi, kuna del käsk tuleb lõpetada uue reaga:
KUI failinimi on olemas. del failinimi. ELSE kaja failinimi. puudu
Samuti ei töötaks allolev näide, sest käsk ELSE peab asuma samal real kui IF-käsu lõpp:
KUI failinimi on olemas. del failinimi. ELSE kaja failinimi. puudu
Allpool toodud näide toimiks, kui soovite seda kõike ühel real:
KUI failinimi on olemas. (del failinimi.) ELSE kaja failinimi. puudu
Kui käsulaiendid on lubatud, siis IF muutub järgmiselt:
IF [/ I] stringi1 võrdluse optide string2 käsk IF CMDEXTVERSION numbrikäsk IF DEFINED muutuja käsk
kus võrdluse võimalus võib olla üks järgmistest:
- EQU - võrdne
- NEQ - pole võrdne
- LSS - vähem kui
- LEQ - väiksem või võrdne
- GTR - suurem kui
- GEQ - suurem või võrdne
ja lüliti / I, kui see on täpsustatud, ütleb, et võrdletakse suurtähtede suhtes tundmatut stringi. Lülitit / I saab kasutada ka IF-vormingus string1 == string2. Need võrdlused on üldised, kui nii string1 kui ka string2 koosnevad kõigist numbrilistest numbritest, teisendatakse need arvudeks ja arvuline võrdlus viiakse läbi.
CMDEXTVERSION tingimuslik töötab nagu ERRORLEVEL, välja arvatud see, et seda võrreldakse käsulaienditega seotud sisemise versiooninumbriga. Esimene versioon on 1. Seda suurendatakse ühe võrra, kui käsulaienditele lisatakse olulisi täiendusi. CMDEXTVERSION tingimuslik pole kunagi tõene, kui käsulaiendid on keelatud.
MÄÄRATLETUD tingimuslik toimib nagu VÄLJASÜSTEEMID, välja arvatud see, et see võtab keskkonnamuutuja nime ja tagastab tõese, kui keskkonnamuutuja on määratletud.
% ERRORLEVEL% laieneb ERRORLEVELi praeguse väärtuse stringi, eeldusel, et veel pole keskkonnamuutujat nimega ERRORLEVEL, sellisel juhul saate selle väärtuse. Pärast programmi käivitamist illustreerib allolev näide ERRORLEVELi kasutamist:
goto answer% ERRORLEVEL%: answer0 echo Programmil oli tagasitulekukood 0: answer1 echo Programmil oli tagasitulekood 1
Võite kasutada ka arvulisi võrdlusi järgmiselt:
KUI% ERRORLEVEL% LEQ 1 on korras
% CMDCMDLINE% laieneb CMD.EXE-le edastatud käsuridale enne CMD.EXE-ga töötlemist, kui keskkonnamuutujat CMDCMDLINE pole, sellisel juhul saate selle väärtuse.
% CMDEXTVERSION% laieneb CMDEXTVERSION väärtuse stringiks, eeldusel, et veel pole keskkonnamuutujat nimega CMDEXTVERSION, sellisel juhul saate selle väärtuse.
Windows XP ja varasem süntaks
Viib läbi tingimusliku töötlemise pakettprogrammides.
IF [NOT] ERRORLEVEL numbri käsk IF [EI] string1 == string2 käsk IF [NOT] EXIST filename command
MITTE | Määrab, et Windows peaks käsku täitma ainult siis, kui tingimus on vale. |
ERRORLEVEL number | Määrab tegeliku tingimuse, kui viimane programmi käitamine tagastab väljumiskoodi, mis on võrdne või suurem kui määratud arv. |
käsk | Määrab käskluse, mis tuleb täita, kui tingimus on täidetud. |
string1 == string2 | Määratleb tegeliku tingimuse, kui määratud tekstistringid vastavad. |
Olemasolev failinimi | Määratleb tegeliku tingimuse, kui määratud failinimi on olemas. |