MS-DOS ja Windowsi käsurida, kui käsk

Sisukord:

MS-DOS ja Windowsi käsurida, kui käsk
MS-DOS ja Windowsi käsurida, kui käsk

Video: Sparki installimine Windowsis 2024, Mai

Video: Sparki installimine Windowsis 2024, Mai
Anonim

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.