batch-file
Om uttalanden
Sök…
Syntax
om [/ i] StringToCompare1 == StringToCompare2 (kommandoA) annat (kommandoB)
om felnivå 1 (kommandoA) annars (kommandoB)
om% errorlevel% == 1 (kommandoA) annat (kommandoB)
om finns filnamn (kommandoA) annat (kommandoB)
om definierad variabelnamn (kommandoA) annars (kommandoB)
Anmärkningar
Det finns några syntax att välja mellan i ett if
uttalande. Vi kommer att använda if string1==string2
som exempel.
1-raders syntaxer
-
if string1==string2 commandA
-
if string1==string2 (commandA)
-
if string1==string2 (commandA) else (commandB)
-
if string1==string2 (commandA) else commandB
-
if string1==string2 (commandA)else (commandB)
-
if string1==string2 (commandA)else commandB
Multiline Syntaxes
if string1==string2 (
commandA
)
Eller
if string1==string2 (
commandA
) else (
commandB
)
Det finns fortfarande några extra syntaxer tillgängliga.
Jämför siffror med IF-uttalande
SET TEST=0
IF %TEST% == 0 (
echo TEST FAILED
) ELSE IF %TEST% == 1 (
echo TEST PASSED
) ELSE (
echo TEST INVALID
)
Jämför strängar
IF "%~1" == "-help" (
ECHO "Hello"
)
där %1
hänvisar till det första kommandoradsargumentet och ~
tar bort alla citat som inkluderades när skriptet kallades.
Jämför felnivå
If Errorlevel 1 (
Echo Errorlevel is 1 or higher
REM The phrase "1 or higher" is used because If Errorlevel 1 statement means:
REM If %Errorlevel% GEQ 1
REM Not If %Errorlevel% EQU 1
)
eller
If "%Errorlevel%"=="1" (
Echo Errorlevel is 1
)
Skriptet ovan skulle kontrollera variabeln Errorlevel (inbyggd). Det not
Operatören kan användas.
Set "Test=%Errorlevel%"
If "%Test%" == "1" (
Echo Errorlevel is 1
)
Den här fungerar också.
Observera att vissa kommandon inte påverkar felnivån :
- Ha sönder
- Eko
- ENDLOCAL
- För
- Om
- Paus
- Rem
- Rd / Rmdir
- Uppsättning
- Titel
Följande kommandon ställer in men rensar inte felnivån :
- Cls
- Gå till
- Keys
- popD
- Flytta
Följande kommandon anger utgångskoder men inte felnivån :
- Rd / Rmdir
Följande kommandon ställer in felnivå men inte utgångskoder :
- Md / Mkdir
Kontrollera om filen finns
If exist "C:\Foo\Bar.baz" (
Echo File exist
)
Detta kontrollerar om filen C: \ Foo \ Bar.baz förekommer. Om detta finns det ekon fil existerar Not
Operatören kan också tillsättas.
Om variabel finns / ställs in
If Defined Foo (
Echo Foo is defined
)
Detta skulle kontrollera om en variabel är definierad eller inte. Återigen kan Not
operatören användas.