Kommandoen if udfører betinget behandling i batch-programmer.
tilgængelighed
Kommandoen if er en intern kommando, der er adgang til og bruges i batchfiler.
- Windows 95
- Windows 98
- Windows NT
- Windows XP
- Windows 2000
- Windows Vista
- Windows 7
- Windows 8
- Windows 10
Syntaks
- Windows Vista og senere syntaks.
- Windows XP og tidligere syntaks.
Windows Vista og senere syntaks
IF [NOT] ERRORLEVEL nummerkommando IF [NOT] string1 == string2 kommando IF [NOT] EXIST filnavn kommando
IKKE | Angiver, at Windows 2000 eller XP kun skal udføre kommandoen, hvis betingelsen er falsk. |
ERRORLEVEL-nummer | Specificerer en ægte betingelse, hvis det sidste programkørsel returnerede en exit-kode, der er lig med eller større end det angivne antal. |
streng1 == streng2 | Angiver en ægte betingelse, hvis de specificerede tekststrenge stemmer overens. |
EXIST filnavn | Specificerer en ægte betingelse, hvis det specificerede filnavn findes. |
kommando | Specificerer kommandoen, der skal udføres, hvis betingelsen er opfyldt. Kommando kan følges af ELSE-kommandoen, der udfører kommandoen efter ELSE-nøgleordet, hvis den specificerede betingelse er FALSE. |
ELSE-klausulen skal forekomme på samme linje som kommandoen efter IF. For eksempel:
IF EXIST filnavn. (del filnavn.) ELSE (ekko filnavn mangler.)
Eksemplet nedenfor fungerer IKKE, fordi del-kommandoen skal afsluttes med en ny linje:
IF EXIST filnavn. del filnavn. ELSE ekko filnavn. mangler
Eksemplet nedenfor fungerer heller ikke, fordi ELSE-kommandoen skal være på samme linje som slutningen af IF-kommandoen:
IF EXIST filnavn. del filnavn. ELSE ekko filnavn. mangler
Eksemplet nedenfor fungerer, hvis du vil have det hele på en linje:
IF EXIST filnavn. (del filnavn.) ELSE ekko filnavn. mangler
Hvis kommandoudvidelser er aktiveret, ændres IF som følger:
IF [/ I] streng1 sammenligning-kommando string2 kommando IF CMDEXTVERSION nummer kommando IF DEFINED variabel kommando
hvor sammenligning kan være en af:
- EQU - lige
- NEQ - ikke ens
- LSS - mindre end
- LEQ - mindre end eller lige
- GTR - større end
- GEQ - større end eller lige
og / I-kontakten, hvis angivet, siger at gøre sansefølsom streng sammenligninger. / I-kontakten kan også bruges på string1 == string2-formen af IF. Disse sammenligninger er generiske, hvis både streng1 og streng2 er sammensat af alle numeriske cifre, konverteres de til tal, og der udføres en numerisk sammenligning.
Betingelsen med CMDEXTVERSION fungerer som ERRORLEVEL, bortset fra at den sammenligner med et internt versionsnummer, der er knyttet til kommandoudvidelserne. Den første version er 1. Den øges med en, når der tilføjes væsentlige forbedringer til kommandoudvidelserne. CMDEXTVERSION betinget er aldrig sandt, når kommandoudvidelser er deaktiveret.
DEFINED betingede fungerer som EXISTS, medmindre det tager et miljøvariablenavn og returnerer sandt, hvis miljøvariablen er defineret.
% ERRORLEVEL% udvides til en streng med den aktuelle værdi af ERRORLEVEL, forudsat at der ikke allerede er en miljøvariabel med navnet ERRORLEVEL, i hvilket tilfælde du får dens værdi. Efter at have kørt et program, illustrerer eksemplet herunder ERRORLEVEL-brug:
gå til svar% FEJLLÆG%: svar0 ekko Program havde returkode 0: svar1 ekko Program havde returkode 1
Du kan også bruge de numeriske sammenligninger nedenfor:
HVIS% ERRORLEVEL% LEQ 1 går okay
% CMDCMDLINE% udvides til kommandolinjen, der er videregivet til CMD.EXE, inden nogen behandling af CMD.EXE, forudsat at der ikke er en CMDCMDLINE-miljøvariabel, i hvilket tilfælde du får dens værdi.
% CMDEXTVERSION% udvides til en streng med værdien af CMDEXTVERSION, forudsat at der ikke allerede er en miljøvariabel med navnet CMDEXTVERSION, i hvilket tilfælde du får dens værdi.
Windows XP og tidligere syntaks
Udfører betinget behandling i batch-programmer.
IF [NOT] ERRORLEVEL nummerkommando IF [NOT] string1 == string2 kommando IF [NOT] EXIST filnavn kommando
IKKE | Angiver, at Windows kun skal udføre kommandoen, hvis betingelsen er falsk. |
ERRORLEVEL-nummer | Specificerer en ægte betingelse, hvis det sidste programkørsel returnerede en exit-kode, der er lig med eller større end det angivne antal. |
kommando | Specificerer kommandoen, der skal udføres, hvis betingelsen er opfyldt. |
streng1 == streng2 | Angiver en ægte betingelse, hvis de specificerede tekststrenge stemmer overens. |
EXIST filnavn | Specificerer en ægte betingelse, hvis det specificerede filnavn findes. |