„MS-DOS“ ir „Windows“ komandų eilutė, jei komanda

Turinys:

„MS-DOS“ ir „Windows“ komandų eilutė, jei komanda
„MS-DOS“ ir „Windows“ komandų eilutė, jei komanda
Anonim

If“ komanda vykdo sąlyginį apdorojimą paketinėmis programomis.

Prieinamumas

„If“ komanda yra vidinė komanda, prie kurios prieinama ir naudojama paketiniuose failuose.

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

Sintaksė

  • „Windows Vista“ ir vėlesnė sintaksė.
  • „Windows XP“ ir ankstesnė sintaksė.

„Windows Vista“ ir vėlesnė sintaksė

IF [NOT] ERRORLEVEL numerio komanda IF [NOT] string1 == string2 komanda IF [NOT] EXIST filename team

NE Nurodo, kad „Windows 2000“ arba XP turėtų vykdyti komandą tik tuo atveju, jei sąlyga klaidinga.
ERRORLEVEL numeris Nurodo tikrąją sąlygą, jei paskutinis programos vykdymas grąžino išėjimo kodą, lygų ar didesnį už nurodytą skaičių.
string1 == string2 Nurodoma tikroji sąlyga, jei nurodytos teksto eilutės sutampa.
EXIST failo vardas Nurodo tikrąją sąlygą, jei nurodytas failo vardas egzistuoja.
komanda Nurodoma komanda, kurią reikia įvykdyti, jei tenkinamos sąlygos. Komanda gali sekti ELSE komanda, kuri vykdys komandą po ELSE raktinio žodžio, jei nurodyta sąlyga yra FALSE.

ELSE sąlyga turi būti toje pačioje eilutėje kaip ir komanda po IF. Pavyzdžiui:

JEI BUVO failo vardas. (del failo vardas.) ELSE (echo failo vardas. trūksta.)

Žemiau pateiktas pavyzdys NEMOKAMAS, nes Del komandą reikia nutraukti nauja eilute:

JEI BUVO failo vardas. del failo vardas. ELSE aido failo vardas. dingęs

Žemiau pateiktas pavyzdys taip pat neveiktų, nes ELSE komanda turi būti toje pačioje eilutėje kaip ir komandos IF pabaiga:

JEI BUVO failo vardas. del failo vardas. ELSE aido failo vardas. dingęs

Žemiau pateiktas pavyzdys veiktų, jei norite, kad viskas būtų vienoje eilutėje:

JEI BUVO failo vardas. (del failo vardas.) ELSE aido failo vardas. dingęs

Jei įgalinti komandų plėtiniai, IF keičiasi taip:

IF [/ I] string1 palyginti-op string2 komanda IF CMDEXTVERSION numerio komanda IF DEFINED kintamojo komanda

kur palyginti gali būti viena iš:

  • EQU - lygus
  • NEQ - nelygus
  • LSS - mažiau nei
  • LEQ - mažesnis arba lygus
  • GTR - didesnis nei
  • GEQ - didesnis arba lygus

ir / I jungiklis, jei nurodytas, sako, kad reikia palyginti mažąsias ir mažąsias raides. / I jungiklį taip pat galima naudoti IF 1 eilutės == string2 formoje. Šie palyginimai yra bendro pobūdžio, jei 1 ir 2 eilutes sudaro visi skaitiniai skaitmenys, tada jie paverčiami skaičiais ir atliekamas skaitinis palyginimas.

CMDEXTVERSION sąlyginis veikia kaip „ERRORLEVEL“, išskyrus tai, kad jis lyginamas su vidiniu versijos numeriu, susietu su komandos plėtiniais. Pirmoji versija yra 1. Ji bus padidinta viena, jei komandos plėtiniuose bus pridedami reikšmingi patobulinimai. CMDEXTVERSION sąlyginis niekada nėra tiesa, kai komandų plėtiniai yra išjungti.

APIBRĖŽTAS sąlyginis veiksmas egzistuoja kaip EXISTS, išskyrus tai, kad jis užima aplinkos kintamojo pavadinimą ir grąžina teisingą, jei aplinkos kintamasis yra apibrėžtas.

„% ERRORLEVEL%“ išsiplečia į dabartinės „ERRORLEVEL“ vertės eilutę, jei dar nėra aplinkos kintamojo pavadinimu „ERRORLEVEL“, tokiu atveju jūs gausite jo vertę. Paleidus programą, toliau pateiktas pavyzdys iliustruoja ERRORLEVEL naudojimą:

goto answer% ERRORLEVEL%: answer0 echo Programa turėjo grįžimo kodą 0: answer1 echo Programa turėjo grįžimo kodą 1

Taip pat galite naudoti skaitmeninius palyginimus:

IF% ERRORLEVEL% LEQ 1 viskas gerai

% CMDCMDLINE% išplečiamas iki CMD.EXE perduodamos komandinės eilutės prieš bet kokį CMD.EXE apdorojimą, jei nėra CMDCMDLINE aplinkos kintamojo, tokiu atveju jūs gausite jo vertę.

% CMDEXTVERSION% išsiplečia į CMDEXTVERSION vertės eilutę, jei dar nėra aplinkos kintamojo, kurio pavadinimas CMDEXTVERSION, tokiu atveju jūs gausite jo vertę.

„Windows XP“ ir ankstesnė sintaksė

Atlieka sąlyginį apdorojimą paketinėmis programomis.

IF [NOT] ERRORLEVEL numerio komanda IF [NOT] string1 == string2 komanda IF [NOT] EXIST filename team

NE Nurodo, kad „Windows“ turėtų vykdyti komandą tik tuo atveju, jei sąlyga klaidinga.
ERRORLEVEL numeris Nurodo tikrąją sąlygą, jei paskutinis programos vykdymas grąžino išėjimo kodą, lygų ar didesnį už nurodytą skaičių.
komanda Nurodoma komanda, kurią reikia įvykdyti, jei tenkinamos sąlygos.
string1 == string2 Nurodoma tikroji sąlyga, jei nurodytos teksto eilutės sutampa.
EXIST failo vardas Nurodo tikrąją sąlygą, jei nurodytas failo vardas egzistuoja.