Verarbeitet Ausdrcke mit Bedingungen in einem Batch-Programm.

IF [NOT] ERRORLEVEL Nummer Befehl
IF [NOT] Zeichenfolge1==Zeichenfolge2 Befehl
IF [NOT] EXIST Dateiname Befehl

  NOT               Der Befehl soll nur dann ausgefhrt werden, wenn die
                    Bedingung nicht erfllt ist.
  ERRORLEVEL Nummer Ist erfllt, wenn das zuletzt ausgefhrte Programm einen
                    Code grer oder gleich der Nummer zurckgibt.
  Befehl            Der auszufhrende Befehl, falls die Bedingung erfllt 
                    ist.
  Zeichenfolge1==Zeichenfolge2 
                    Ist erfllt, falls die Zeichenfolgen gleich sind.
  EXIST Dateiname   Ist erfllt, wenn die angegebene Datei existiert.


Wenn die Befehlserweiterungen aktiviert sind, wird der IF-Befehl folgendermaen verndert:

    IF [/I] Zeichenfolge1 Vergleichsoperator Zeichenfolge2 Befehl
    IF CMDEXTVERSION Zahl Befehl
    IF DEFINED Variable Befehl

Dabei kann der Vergleichsoperator einer der folgenden sein:

    EQU - gleich
    NEQ - nicht gleich
    LSS - kleiner als
    LEQ - kleiner als oder gleich
    GTR - grer als
    GEQ - grer als oder gleich

Die /I-Option wird angegeben, um die Gro-/Kleinschreibung beim Vergleich zu
ignorieren. Die /I-Option kann auch in der Form Zeichenfolge1==Zeichenfolge2
verwendet werden. Diese Vergleiche sind allgemein, das heit, wenn beide
Zeichenfolgen nur aus Ziffern bestehen, werden die Zeichenfolgen in Zahlen
umgewandelt, und es wird ein numerischer Vergleich durchgefhrt.

Die Bedingung CMDEXTVERSION arbeitet genau wie ERRORLEVEL, nur das
dabei mit einer internen Versionsnummer der Befehlserweiterungen verglichen
wird. Die erste Verisonsnummer ist 1. Diese wird um eins erhht werden, wenn
bedeutende Verbesserungen an den Befehlserweiterungen gemacht werden.
Die Bedingung CMDEXTVERSION ist falsch, wenn die Befehlserweiterungen nicht
aktiviert sind.

Die Bedingung DEFINED arbeitet genau wie EXIST, bezieht sich aber auf
den Namen einer Umgebungsvariablen und ist wahr, wenn die Umgebungs-
variable definiert ist.

Der Ausdruck %ERRORLEVEL% wird zu einer Zeichendarstellung des
aktuellen Werts der Variablen ERRORLEVEL expandiert (vorausgesetzt, es gibt
nicht bereits eine Umgebungsvariable mit dem Namen ERRORLEVEL, deren
Wert man dann erhlt). Damit kann man zum Beispiel folgendes tun:

    choice
    goto Antwort%ERRORLEVEL%
    :Antwort1
    echo J fr Ja eingegeben
    goto :EOF
    :Antwort2
    echo N fr Nein eingegeben

oder mit Verwendung der Vergleichsoperatoren:

    IF %ERRORLEVEL% LEQ 1 goto ok

Der Ausdruck %CMDCMDLINE% wird zu der originalen Befehlszeile expandiert,
die CMD.EXE vor irgendeiner Bearbeitung bergeben wird (vorausgesetzt es gibt
nicht bereits eine Umgebungsvariable mit dem Namen CMDCMDLINE, deren
Wert man dann erhlt).