if - Verarbeiten von Ausdrücken in einer Batchdatei abhängig von Bedingungen - CMD Befehle Übersicht

Beschreibung
Verarbeiten von Ausdrücken in einer Batchdatei abhängig von Bedingungen.
Am besten Demonstriert anhand von verschiedenen Beispielen.

Verarbeitet Ausdrücke in einer Batchdatei abhängig von Bedingungen.

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

  NOT              Befehl wird nur dann ausgeführt, wenn die Bedingung nicht
                   erfüllt ist.

  ERRORLEVEL Zahl  Bedingung ist erfüllt, wenn das zuletzt ausgeführte
                   Programm einen Code grӇer oder gleich der Nummer
                   zurückgibt.

  Zeichenfolge1==Zeichenfolge2
                   Bedingung ist erfüllt, falls die Zeichenfolgen gleich sind.
  
  EXIST Dateiname  Bedingung ist erfüllt, wenn die angegebene Datei existiert.

  Befehl           Gibt den Befehl an, der bei erfüllter Bedingung ausgeführt
                   werden soll. Diesem Befehl kann das Schlüsselwort ELSE
                   folgen. Der Befehl nach dem Wort ELSE wird ausgeführt, wenn
                   die angegebene Bedingung nicht erfüllt ist (FALSE).

Die ELSE-Klausel muss auf derselben Zeile mit dem Befehl nach IF stehen.
Zum Beispiel:

    IF EXIST test.txt (
        del test.txt
    ) ELSE (
        echo test.txt fehlt
    )

Die beiden folgenden Beispiele funktionieren nicht. 
Im ersten Fall wird der DEL-Befehl nicht durch ein Zeilenende abgeschlossen:

    IF EXIST test.txt del test.txt ELSE echo test.txt fehlt

In zweiten Fall befindet sich der ELSE-Befehl nicht auf derselben Zeile mit
dem IF Schlüsselwort:

    IF EXIST test.txt del test.txt
    ELSE echo test.txt fehlt

Hier ein Beispiel, wie alles auf einer Zeile angegeben werden kann:

    IF EXIST test.txt (del test.txt) ELSE echo test.txt fehlt

Wenn die Befehlserweiterungen aktiviert sind, wird der
IF-Befehl folgendermaáen verändert:

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

M”gliche Vergleichsoperatoren:

    EQU - gleich
    NEQ - nicht gleich
    LSS - kleiner als
    LEQ - kleiner als oder gleich
    GTR - grӇer als
    GEQ - grӇer 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" von "IF" verwendet werden.
Diese Vergleiche sind allgemein, das heiát, wenn beide Zeichenfolgen
nur aus Ziffern bestehen, werden die Zeichenfolgen in Zahlen
umgewandelt, und es wird ein numerischer Vergleich durchgeführt.

Die Bedingung "CMDEXTVERSION" arbeitet genau wie "ERRORLEVEL", nur
dass dabei mit einer internen Versionsnummer der Befehlserweiterungen
verglichen wird. Die erste Versionsnummer ist "1". Diese wird um eins erh”ht,
wenn bedeutende Verbesserungen an den Befehlserweiterungen vorge-
nommen 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 Umgebungsvariable definiert ist.

Der Ausdruck "%ERRORLEVEL%" wird zu einer Zeichendarstellung
des aktuellen Werts der Variablen "ERRORLEVEL" expandiert (voraus-
gesetzt, es ist nicht bereits eine Umgebungsvariable mit dem Namen
"ERRORLEVEL" vorhanden, deren Wert dann zurückgegeben würde).
Nachdem ein Programm ausgeführt wurde, gestaltet sich die Verwendung
von "ERRORLEVEL" wie folgt:

    goto Antwort%ERRORLEVEL%
    :Antwort0
    echo J für Ja eingegeben
    :Antwort1
    echo N für Nein eingegeben

Auch die oben aufgeführten numerischen
Vergleiche k”nnen verwendet werden:

    IF %ERRORLEVEL% LEQ 1 goto ok

Der Ausdruck "%CMDCMDLINE%" wird zu der ursprünglichen Befehls-
zeile expandiert, die "CMD.EXE" vor einer beliebigen Bearbeitung übergeben
wird (vorausgesetzt, es ist nicht bereits eine Umgebungsvariable mit dem
Namen "CMDCMDLINE" vorhanden, deren Wert dann zurückgegeben
würde).

Der Ausdruck "%CMDEXTVERSION%" wird zu einer Zeichendarstellung
des aktuellen Werts der Variablen "CMDEXTVERSION" expandiert (voraus-
gesetzt, es ist nicht bereits eine Umgebungsvariable mit dem Namen
"CMDEXTVERSION" vorhanden, deren Wert dann zurückgegeben würde).
Verarbeitet Ausdrücke in einer Batchdatei abhängig von Bedingungen.

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

  NOT              Befehl wird nur dann ausgeführt, wenn die Bedingung nicht
                   erfüllt ist.

  ERRORLEVEL Zahl  Bedingung ist erfüllt, wenn das zuletzt ausgeführte
                   Programm einen Code grӇer oder gleich der Nummer
                   zurückgibt.

  Zeichenfolge1==Zeichenfolge2
                   Bedingung ist erfüllt, falls die Zeichenfolgen gleich sind.
  
  EXIST Dateiname  Bedingung ist erfüllt, wenn die angegebene Datei existiert.

  Befehl           Gibt den Befehl an, der bei erfüllter Bedingung ausgeführt
                   werden soll. Diesem Befehl kann das Schlüsselwort ELSE
                   folgen. Der Befehl nach dem Wort ELSE wird ausgeführt, wenn
                   die angegebene Bedingung nicht erfüllt ist (FALSE).

Die ELSE-Klausel muss auf derselben Zeile mit dem Befehl nach IF stehen.
Zum Beispiel:

    IF EXIST test.txt (
        del test.txt
    ) ELSE (
        echo test.txt fehlt
    )

Die beiden folgenden Beispiele funktionieren nicht. 
Im ersten Fall wird der DEL-Befehl nicht durch ein Zeilenende abgeschlossen:

    IF EXIST test.txt del test.txt ELSE echo test.txt fehlt

In zweiten Fall befindet sich der ELSE-Befehl nicht auf derselben Zeile mit
dem IF Schlüsselwort:

    IF EXIST test.txt del test.txt
    ELSE echo test.txt fehlt

Hier ein Beispiel, wie alles auf einer Zeile angegeben werden kann:

    IF EXIST test.txt (del test.txt) ELSE echo test.txt fehlt

Wenn die Befehlserweiterungen aktiviert sind, wird der
IF-Befehl folgendermaáen verändert:

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

M”gliche Vergleichsoperatoren:

    EQU - gleich
    NEQ - nicht gleich
    LSS - kleiner als
    LEQ - kleiner als oder gleich
    GTR - grӇer als
    GEQ - grӇer 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" von "IF" verwendet werden.
Diese Vergleiche sind allgemein, das heiát, wenn beide Zeichenfolgen
nur aus Ziffern bestehen, werden die Zeichenfolgen in Zahlen
umgewandelt, und es wird ein numerischer Vergleich durchgeführt.

Die Bedingung "CMDEXTVERSION" arbeitet genau wie "ERRORLEVEL", nur
dass dabei mit einer internen Versionsnummer der Befehlserweiterungen
verglichen wird. Die erste Versionsnummer ist "1". Diese wird um eins erh”ht,
wenn bedeutende Verbesserungen an den Befehlserweiterungen vorge-
nommen 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 Umgebungsvariable definiert ist.

Der Ausdruck "%ERRORLEVEL%" wird zu einer Zeichendarstellung
des aktuellen Werts der Variablen "ERRORLEVEL" expandiert (voraus-
gesetzt, es ist nicht bereits eine Umgebungsvariable mit dem Namen
"ERRORLEVEL" vorhanden, deren Wert dann zurückgegeben würde).
Nachdem ein Programm ausgeführt wurde, gestaltet sich die Verwendung
von "ERRORLEVEL" wie folgt:

    goto Antwort%ERRORLEVEL%
    :Antwort0
    echo J für Ja eingegeben
    :Antwort1
    echo N für Nein eingegeben

Auch die oben aufgeführten numerischen
Vergleiche k”nnen verwendet werden:

    IF %ERRORLEVEL% LEQ 1 goto ok

Der Ausdruck "%CMDCMDLINE%" wird zu der ursprünglichen Befehls-
zeile expandiert, die "CMD.EXE" vor einer beliebigen Bearbeitung übergeben
wird (vorausgesetzt, es ist nicht bereits eine Umgebungsvariable mit dem
Namen "CMDCMDLINE" vorhanden, deren Wert dann zurückgegeben
würde).

Der Ausdruck "%CMDEXTVERSION%" wird zu einer Zeichendarstellung
des aktuellen Werts der Variablen "CMDEXTVERSION" expandiert (voraus-
gesetzt, es ist nicht bereits eine Umgebungsvariable mit dem Namen
"CMDEXTVERSION" vorhanden, deren Wert dann zurückgegeben würde).
Verarbeitet Ausdrücke in einer Batchdatei abhängig von Bedingungen.

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

  NOT              Befehl wird nur dann ausgeführt, wenn die Bedingung nicht
                   erfüllt ist.

  ERRORLEVEL Zahl  Bedingung ist erfüllt, wenn das zuletzt ausgeführte
                   Programm einen Code grӇer oder gleich der Nummer
                   zurückgibt.

  Zeichenfolge1==Zeichenfolge2
                   Bedingung ist erfüllt, falls die Zeichenfolgen gleich sind.
  
  EXIST Dateiname  Bedingung ist erfüllt, wenn die angegebene Datei existiert.

  Befehl           Gibt den Befehl an, der bei erfüllter Bedingung ausgeführt
                   werden soll. Diesem Befehl kann das Schlüsselwort ELSE
                   folgen. Der Befehl nach dem Wort ELSE wird ausgeführt, wenn
                   die angegebene Bedingung nicht erfüllt ist (FALSE).

Die ELSE-Klausel muss auf derselben Zeile mit dem Befehl nach IF stehen.
Zum Beispiel:

    IF EXIST test.txt (
        del test.txt
    ) ELSE (
        echo test.txt fehlt
    )

Die beiden folgenden Beispiele funktionieren nicht. 
Im ersten Fall wird der DEL-Befehl nicht durch ein Zeilenende abgeschlossen:

    IF EXIST test.txt del test.txt ELSE echo test.txt fehlt

In zweiten Fall befindet sich der ELSE-Befehl nicht auf derselben Zeile mit
dem IF Schlüsselwort:

    IF EXIST test.txt del test.txt
    ELSE echo test.txt fehlt

Hier ein Beispiel, wie alles auf einer Zeile angegeben werden kann:

    IF EXIST test.txt (del test.txt) ELSE echo test.txt fehlt

Wenn die Befehlserweiterungen aktiviert sind, wird der
IF-Befehl folgendermaáen verändert:

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

M”gliche Vergleichsoperatoren:

    EQU - gleich
    NEQ - nicht gleich
    LSS - kleiner als
    LEQ - kleiner als oder gleich
    GTR - grӇer als
    GEQ - grӇer 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" von "IF" verwendet werden.
Diese Vergleiche sind allgemein, das heiát, wenn beide Zeichenfolgen
nur aus Ziffern bestehen, werden die Zeichenfolgen in Zahlen
umgewandelt, und es wird ein numerischer Vergleich durchgeführt.

Die Bedingung "CMDEXTVERSION" arbeitet genau wie "ERRORLEVEL", nur
dass dabei mit einer internen Versionsnummer der Befehlserweiterungen
verglichen wird. Die erste Versionsnummer ist "1". Diese wird um eins erh”ht,
wenn bedeutende Verbesserungen an den Befehlserweiterungen vorge-
nommen 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 Umgebungsvariable definiert ist.

Der Ausdruck "%ERRORLEVEL%" wird zu einer Zeichendarstellung
des aktuellen Werts der Variablen "ERRORLEVEL" expandiert (voraus-
gesetzt, es ist nicht bereits eine Umgebungsvariable mit dem Namen
"ERRORLEVEL" vorhanden, deren Wert dann zurückgegeben würde).
Nachdem ein Programm ausgeführt wurde, gestaltet sich die Verwendung
von "ERRORLEVEL" wie folgt:

    goto Antwort%ERRORLEVEL%
    :Antwort0
    echo J für Ja eingegeben
    :Antwort1
    echo N für Nein eingegeben

Auch die oben aufgeführten numerischen
Vergleiche k”nnen verwendet werden:

    IF %ERRORLEVEL% LEQ 1 goto ok

Der Ausdruck "%CMDCMDLINE%" wird zu der ursprünglichen Befehls-
zeile expandiert, die "CMD.EXE" vor einer beliebigen Bearbeitung übergeben
wird (vorausgesetzt, es ist nicht bereits eine Umgebungsvariable mit dem
Namen "CMDCMDLINE" vorhanden, deren Wert dann zurückgegeben
würde).

Der Ausdruck "%CMDEXTVERSION%" wird zu einer Zeichendarstellung
des aktuellen Werts der Variablen "CMDEXTVERSION" expandiert (voraus-
gesetzt, es ist nicht bereits eine Umgebungsvariable mit dem Namen
"CMDEXTVERSION" vorhanden, deren Wert dann zurückgegeben würde).
Verarbeitet Ausdrücke in einer Batchdatei abhängig von Bedingungen.

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

  NOT              Befehl wird nur dann ausgeführt, wenn die Bedingung nicht
                   erfüllt ist.

  ERRORLEVEL Zahl  Bedingung ist erfüllt, wenn das zuletzt ausgeführte
                   Programm einen Code grӇer oder gleich der Nummer
                   zurückgibt.

  Zeichenfolge1==Zeichenfolge2
                   Bedingung ist erfüllt, falls die Zeichenfolgen gleich sind.
  
  EXIST Dateiname  Bedingung ist erfüllt, wenn die angegebene Datei existiert.

  Befehl           Gibt den Befehl an, der bei erfüllter Bedingung ausgeführt
                   werden soll. Diesem Befehl kann das Schlüsselwort ELSE
                   folgen. Der Befehl nach dem Wort ELSE wird ausgeführt, wenn
                   die angegebene Bedingung nicht erfüllt ist (FALSE).

Die ELSE-Klausel muss auf derselben Zeile mit dem Befehl nach IF stehen.
Zum Beispiel:

    IF EXIST test.txt (
        del test.txt
    ) ELSE (
        echo test.txt fehlt
    )

Die beiden folgenden Beispiele funktionieren nicht. 
Im ersten Fall wird der DEL-Befehl nicht durch ein Zeilenende abgeschlossen:

    IF EXIST test.txt del test.txt ELSE echo test.txt fehlt

In zweiten Fall befindet sich der ELSE-Befehl nicht auf derselben Zeile mit
dem IF Schlüsselwort:

    IF EXIST test.txt del test.txt
    ELSE echo test.txt fehlt

Hier ein Beispiel, wie alles auf einer Zeile angegeben werden kann:

    IF EXIST test.txt (del test.txt) ELSE echo test.txt fehlt

Wenn die Befehlserweiterungen aktiviert sind, wird der IF-Befehl folgendermaáen
verändert:

    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 - grӇer als
    GEQ - grӇer 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 heiát, wenn beide
Zeichenfolgen nur aus Ziffern bestehen, werden die Zeichenfolgen in Zahlen
umgewandelt, und es wird ein numerischer Vergleich durchgeführt.

Die Bedingung CMDEXTVERSION arbeitet genau wie ERRORLEVEL, nur dass
dabei mit einer internen Versionsnummer der Befehlserweiterungen verglichen
wird. Die erste Versionsnummer ist 1. Diese wird um eins erh”ht 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 erhält).
Nachdem ein Programm ausgeführt wurde, sieht die Verwendung von ERRORLEVEL 
wie folgt aus:

    goto Antwort%ERRORLEVEL%
    :Antwort0
    echo J für Ja eingegeben
    :Antwort1
    echo N für Nein eingegeben

oder unter 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 erhält).

Der Ausdruck %CMDEXTVERSION% wird zu einer Zeichendarstellung des aktuellen
Werts der Variablen CMDEXTVERSION expandiert (vorausgesetzt, es gibt nicht
bereits eine Umgebungsvariable mit dem Namen CMDEXTVERSION, deren Wert man
dann erhält).
Verarbeitet Ausdrücke in einer Batchdatei abhängig von Bedingungen.

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

  NOT               Befehl wird nur dann ausgeführt, wenn die Bedingung nicht
                    erfüllt ist.

  ERRORLEVEL Nummer Bedingung ist erfüllt, wenn das zuletzt ausgeführte
                    Programm einen Code grӇer oder gleich der Nummer
                    zurückgibt.

  Zeichenfolge1==Zeichenfolge2
                    Bedingung ist erfüllt, falls die Zeichenfolgen gleich sind.
  
  EXIST Dateiname   Bedingung ist erfüllt, wenn die angegebene Datei existiert.

  Befehl            Gibt den Befehl an, der bei erfüllter Bedingung ausgeführt
                    werden soll. Diesem Befehl kann das Schlüsselwort ELSE
                    folgen. Der Befehl nach dem Wort ELSE wird ausgeführt, wenn
                    die angegebene Bedingung nicht erfüllt ist (FALSE).

Die ELSE-Klausel muss auf der Zeile mit dem Befehl nach dem IF stehen.
Zum Beispiel:

    IF EXIST test.txt (
        del test.txt
    ) ELSE (
        echo test.txt fehlt
    )

Die beiden folgenden Beispiele funktionieren nicht. Im ersten Fall wird der 
DEL-Befehl nicht durch ein Zeilenende abgeschlossen:

    IF EXIST test.txt del test.txt ELSE echo test.txt fehlt

In zweiten Fall befindet sich der ELSE-Befehl nicht auf derselben Zeile mit
dem IF Schlüsselwort:

    IF EXIST test.txt del test.txt
    ELSE echo test.txt fehlt

Hier ein Beispiel, wie alles auf einer Zeile angegeben werden kann:

    IF EXIST test.txt (del test.txt) ELSE echo test.txt fehlt

Wenn die Befehlserweiterungen aktiviert sind, wird der IF-Befehl folgendermaáen
verändert:

    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 - grӇer als
    GEQ - grӇer 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 heiát, wenn beide
Zeichenfolgen nur aus Ziffern bestehen, werden die Zeichenfolgen in Zahlen
umgewandelt, und es wird ein nummerischer Vergleich durchgeführt.

Die Bedingung CMDEXTVERSION arbeitet genau wie ERRORLEVEL, nur dass
dabei mit einer internen Versionsnummer der Befehlserweiterungen verglichen
wird. Die erste Versionsnummer ist 1. Diese wird um eins erh”ht 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 erhält).
Nachdem ein Programm ausgeführt wurde, sieht die Verwendung von ERRORLEVEL 
wie folgt aus:

    goto Antwort%ERRORLEVEL%
    :Antwort0
    echo J für Ja eingegeben
    :Antwort1
    echo N für Nein eingegeben

oder unter 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 erhält).

Der Ausdruck %CMDEXTVERSION% wird zu einer Zeichendarstellung des aktuellen
Werts der Variablen CMDEXTVERSION expandiert (vorausgesetzt, es gibt nicht
bereits eine Umgebungsvariable mit dem Namen CMDEXTVERSION, deren Wert man
dann erhält).
Verarbeitet Ausdrücke in einer Batchdatei abhängig von Bedingungen.

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

  NOT               Befehl wird nur dann ausgeführt, wenn die Bedingung nicht
                    erfüllt ist.

  ERRORLEVEL Nummer Bedingung ist erfüllt, wenn das zuletzt ausgeführte
                    Programm einen Code grӇer oder gleich der Nummer
                    zurückgibt.

  Zeichenfolge1==Zeichenfolge2
                    Bedingung ist erfüllt, falls die Zeichenfolgen gleich sind.
  
  EXIST Dateiname   Bedingung ist erfüllt, wenn die angegebene Datei existiert.

  Befehl            Gibt den Befehl an, der bei erfüllter Bedingung ausgeführt
                    werden soll. Diesem Befehl kann das Schlüsselwort ELSE
                    folgen. Der Befehl nach dem Wort ELSE wird ausgeführt, wenn
                    die angegebene Bedingung nicht erfüllt ist (FALSE).

Die ELSE-Klausel muss auf der Zeile mit dem Befehl nach dem IF stehen.
Zum Beispiel:

    IF EXIST test.txt (
        del test.txt
    ) ELSE (
        echo test.txt fehlt
    )

Die beiden folgenden Beispiele funktionieren nicht. Im ersten Fall wird der 
DEL-Befehl nicht durch ein Zeilenende abgeschlossen:

    IF EXIST test.txt del test.txt ELSE echo test.txt fehlt

In zweiten Fall befindet sich der ELSE-Befehl nicht auf derselben Zeile mit
dem IF Schlüsselwort:

    IF EXIST test.txt del test.txt
    ELSE echo test.txt fehlt

Hier ein Beispiel, wie alles auf einer Zeile angegeben werden kann:

    IF EXIST test.txt (del test.txt) ELSE echo test.txt fehlt

Wenn die Befehlserweiterungen aktiviert sind, wird der IF-Befehl folgendermaáen
verändert:

    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 - grӇer als
    GEQ - grӇer 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 heiát, wenn beide
Zeichenfolgen nur aus Ziffern bestehen, werden die Zeichenfolgen in Zahlen
umgewandelt, und es wird ein nummerischer Vergleich durchgeführt.

Die Bedingung CMDEXTVERSION arbeitet genau wie ERRORLEVEL, nur dass
dabei mit einer internen Versionsnummer der Befehlserweiterungen verglichen
wird. Die erste Versionsnummer ist 1. Diese wird um eins erh”ht 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 erhält).
Nachdem ein Programm ausgeführt wurde, sieht die Verwendung von ERRORLEVEL 
wie folgt aus:

    goto Antwort%ERRORLEVEL%
    :Antwort0
    echo J für Ja eingegeben
    :Antwort1
    echo N für Nein eingegeben

oder unter 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 erhält).

Der Ausdruck %CMDEXTVERSION% wird zu einer Zeichendarstellung des aktuellen
Werts der Variablen CMDEXTVERSION expandiert (vorausgesetzt, es gibt nicht
bereits eine Umgebungsvariable mit dem Namen CMDEXTVERSION, deren Wert man
dann erhält).
Verarbeitet Ausdrücke 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 ausgeführt werden, wenn die
                    Bedingung nicht erfüllt ist.
  ERRORLEVEL Nummer Ist erfüllt, wenn das zuletzt ausgeführte Programm einen
                    Code gr”áer oder gleich der Nummer zurückgibt.
  Befehl            Der auszuführende Befehl, falls die Bedingung erfüllt 
                    ist.
  Zeichenfolge1==Zeichenfolge2 
                    Ist erfüllt, falls die Zeichenfolgen gleich sind.
  EXIST Dateiname   Ist erfüllt, wenn die angegebene Datei existiert.


Wenn die Befehlserweiterungen aktiviert sind, wird der IF-Befehl folgendermaáen verändert:

    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 - grӇer als
    GEQ - grӇer 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 heiát, wenn beide
Zeichenfolgen nur aus Ziffern bestehen, werden die Zeichenfolgen in Zahlen
umgewandelt, und es wird ein numerischer Vergleich durchgeführt.

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 erh”ht 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 erhält). Damit kann man zum Beispiel folgendes tun:

    choice
    goto Antwort%ERRORLEVEL%
    :Antwort1
    echo J für Ja eingegeben
    goto :EOF
    :Antwort2
    echo N für 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 erhält).
Verarbeitet bedingte Ausdrücke in Stapelverarbeitungsprogrammen.

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

  NOT               Der Befehl wird nur dann ausgeführt, wenn die
                    Bedingung nicht erfüllt ist.
  ERRORLEVEL Zahl   Die Bedingung ist erfüllt, wenn das zuletzt ausgeführte
                    Programm einen Wert liefert, der grӇer oder gleich
                    'Zahl' ist.
  Befehl            Der Befehl, der ausgeführt wird, falls die Bedingung
                    erfüllt ist.
  Zeichenfolge1==Zeichenfolge2
                    Die Bedingung ist erfüllt, wenn die Zeichenfolgen
                    identisch sind.
  EXIST Dateiname   Die Bedingung ist erfüllt, wenn es eine Datei
                    mit dem angegebenen Namen gibt.
Verarbeitet bedingte Ausdrücke in Stapelverarbeitungsprogrammen.

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

  NOT               Der Befehl wird nur dann ausgeführt, wenn die
                    Bedingung nicht erfüllt ist.
  ERRORLEVEL Zahl   Die Bedingung ist erfüllt, wenn das zuletzt ausgeführte
                    Programm einen Wert liefert, der grӇer oder gleich
                    'Zahl' ist.
  Befehl            Der Befehl, der ausgeführt wird, falls die Bedingung
                    erfüllt ist.
  Zeichenfolge1==Zeichenfolge2
                    Die Bedingung ist erfüllt, wenn die Zeichenfolgen
                    identisch sind.
  EXIST Dateiname   Die Bedingung ist erfüllt, wenn es eine Datei
                    mit dem angegebenen Namen gibt.
Verarbeitet bedingte Ausdrücke in Stapelverarbeitungsprogrammen.

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

  NOT               Der Befehl wird nur dann ausgeführt, wenn die
                    Bedingung nicht erfüllt ist.
  ERRORLEVEL Zahl   Die Bedingung ist erfüllt, wenn das zuletzt ausgeführte
                    Programm einen Wert liefert, der grӇer oder gleich
                    'Zahl' ist.
  Befehl            Der Befehl, der ausgeführt wird, falls die Bedingung
                    erfüllt ist.
  Zeichenfolge1==Zeichenfolge2
                    Die Bedingung ist erfüllt, wenn die Zeichenfolgen
                    identisch sind.
  EXIST Dateiname   Die Bedingung ist erfüllt, wenn es eine Datei
                    mit dem angegebenen Namen gibt.
Verarbeitet Ausdrücke in einer Batchdatei abhängig von Bedingungen.

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

  NOT              Befehl wird nur dann ausgeführt, wenn die Bedingung nicht
                   erfüllt ist.

  ERRORLEVEL Zahl  Bedingung ist erfüllt, wenn das zuletzt ausgeführte
                   Programm einen Code grӇer oder gleich der Nummer
                   zurückgibt.

  Zeichenfolge1==Zeichenfolge2
                   Bedingung ist erfüllt, falls die Zeichenfolgen gleich sind.
  
  EXIST Dateiname  Bedingung ist erfüllt, wenn die angegebene Datei existiert.

  Befehl           Gibt den Befehl an, der bei erfüllter Bedingung ausgeführt
                   werden soll. Diesem Befehl kann das Schlüsselwort ELSE
                   folgen. Der Befehl nach dem Wort ELSE wird ausgeführt, wenn
                   die angegebene Bedingung nicht erfüllt ist (FALSE).

Die ELSE-Klausel muss auf derselben Zeile mit dem Befehl nach IF stehen.
Zum Beispiel:

    IF EXIST test.txt (
        del test.txt
    ) ELSE (
        echo test.txt fehlt
    )

Die beiden folgenden Beispiele funktionieren nicht. 
Im ersten Fall wird der DEL-Befehl nicht durch ein Zeilenende abgeschlossen:

    IF EXIST test.txt del test.txt ELSE echo test.txt fehlt

In zweiten Fall befindet sich der ELSE-Befehl nicht auf derselben Zeile mit
dem IF Schlüsselwort:

    IF EXIST test.txt del test.txt
    ELSE echo test.txt fehlt

Hier ein Beispiel, wie alles auf einer Zeile angegeben werden kann:

    IF EXIST test.txt (del test.txt) ELSE echo test.txt fehlt

Wenn die Befehlserweiterungen aktiviert sind, wird der
IF-Befehl folgendermaáen verändert:

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

M”gliche Vergleichsoperatoren:

    EQU - gleich
    NEQ - nicht gleich
    LSS - kleiner als
    LEQ - kleiner als oder gleich
    GTR - grӇer als
    GEQ - grӇer 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" von "IF" verwendet werden.
Diese Vergleiche sind allgemein, das heiát, wenn beide Zeichenfolgen
nur aus Ziffern bestehen, werden die Zeichenfolgen in Zahlen
umgewandelt, und es wird ein numerischer Vergleich durchgeführt.

Die Bedingung "CMDEXTVERSION" arbeitet genau wie "ERRORLEVEL", nur
dass dabei mit einer internen Versionsnummer der Befehlserweiterungen
verglichen wird. Die erste Versionsnummer ist "1". Diese wird um eins erh”ht,
wenn bedeutende Verbesserungen an den Befehlserweiterungen vorge-
nommen 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 Umgebungsvariable definiert ist.

Der Ausdruck "%ERRORLEVEL%" wird zu einer Zeichendarstellung
des aktuellen Werts der Variablen "ERRORLEVEL" expandiert (voraus-
gesetzt, es ist nicht bereits eine Umgebungsvariable mit dem Namen
"ERRORLEVEL" vorhanden, deren Wert dann zurückgegeben würde).
Nachdem ein Programm ausgeführt wurde, gestaltet sich die Verwendung
von "ERRORLEVEL" wie folgt:

    goto Antwort%ERRORLEVEL%
    :Antwort0
    echo J für Ja eingegeben
    :Antwort1
    echo N für Nein eingegeben

Auch die oben aufgeführten numerischen
Vergleiche k”nnen verwendet werden:

    IF %ERRORLEVEL% LEQ 1 goto ok

Der Ausdruck "%CMDCMDLINE%" wird zu der ursprünglichen Befehls-
zeile expandiert, die "CMD.EXE" vor einer beliebigen Bearbeitung übergeben
wird (vorausgesetzt, es ist nicht bereits eine Umgebungsvariable mit dem
Namen "CMDCMDLINE" vorhanden, deren Wert dann zurückgegeben
würde).

Der Ausdruck "%CMDEXTVERSION%" wird zu einer Zeichendarstellung
des aktuellen Werts der Variablen "CMDEXTVERSION" expandiert (voraus-
gesetzt, es ist nicht bereits eine Umgebungsvariable mit dem Namen
"CMDEXTVERSION" vorhanden, deren Wert dann zurückgegeben würde).
Verarbeitet Ausdrücke in einer Batchdatei abhängig von Bedingungen.

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

  NOT              Befehl wird nur dann ausgeführt, wenn die Bedingung nicht
                   erfüllt ist.

  ERRORLEVEL Zahl  Bedingung ist erfüllt, wenn das zuletzt ausgeführte
                   Programm einen Code grӇer oder gleich der Nummer
                   zurückgibt.

  Zeichenfolge1==Zeichenfolge2
                   Bedingung ist erfüllt, falls die Zeichenfolgen gleich sind.
  
  EXIST Dateiname  Bedingung ist erfüllt, wenn die angegebene Datei existiert.

  Befehl           Gibt den Befehl an, der bei erfüllter Bedingung ausgeführt
                   werden soll. Diesem Befehl kann das Schlüsselwort ELSE
                   folgen. Der Befehl nach dem Wort ELSE wird ausgeführt, wenn
                   die angegebene Bedingung nicht erfüllt ist (FALSE).

Die ELSE-Klausel muss auf derselben Zeile mit dem Befehl nach IF stehen.
Zum Beispiel:

    IF EXIST test.txt (
        del test.txt
    ) ELSE (
        echo test.txt fehlt
    )

Die beiden folgenden Beispiele funktionieren nicht. 
Im ersten Fall wird der DEL-Befehl nicht durch ein Zeilenende abgeschlossen:

    IF EXIST test.txt del test.txt ELSE echo test.txt fehlt

In zweiten Fall befindet sich der ELSE-Befehl nicht auf derselben Zeile mit
dem IF Schlüsselwort:

    IF EXIST test.txt del test.txt
    ELSE echo test.txt fehlt

Hier ein Beispiel, wie alles auf einer Zeile angegeben werden kann:

    IF EXIST test.txt (del test.txt) ELSE echo test.txt fehlt

Wenn die Befehlserweiterungen aktiviert sind, wird der
IF-Befehl folgendermaáen verändert:

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

M”gliche Vergleichsoperatoren:

    EQU - gleich
    NEQ - nicht gleich
    LSS - kleiner als
    LEQ - kleiner als oder gleich
    GTR - grӇer als
    GEQ - grӇer 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" von "IF" verwendet werden.
Diese Vergleiche sind allgemein, das heiát, wenn beide Zeichenfolgen
nur aus Ziffern bestehen, werden die Zeichenfolgen in Zahlen
umgewandelt, und es wird ein numerischer Vergleich durchgeführt.

Die Bedingung "CMDEXTVERSION" arbeitet genau wie "ERRORLEVEL", nur
dass dabei mit einer internen Versionsnummer der Befehlserweiterungen
verglichen wird. Die erste Versionsnummer ist "1". Diese wird um eins erh”ht,
wenn bedeutende Verbesserungen an den Befehlserweiterungen vorge-
nommen 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 Umgebungsvariable definiert ist.

Der Ausdruck "%ERRORLEVEL%" wird zu einer Zeichendarstellung
des aktuellen Werts der Variablen "ERRORLEVEL" expandiert (voraus-
gesetzt, es ist nicht bereits eine Umgebungsvariable mit dem Namen
"ERRORLEVEL" vorhanden, deren Wert dann zurückgegeben würde).
Nachdem ein Programm ausgeführt wurde, gestaltet sich die Verwendung
von "ERRORLEVEL" wie folgt:

    goto Antwort%ERRORLEVEL%
    :Antwort0
    echo J für Ja eingegeben
    :Antwort1
    echo N für Nein eingegeben

Auch die oben aufgeführten numerischen
Vergleiche k”nnen verwendet werden:

    IF %ERRORLEVEL% LEQ 1 goto ok

Der Ausdruck "%CMDCMDLINE%" wird zu der ursprünglichen Befehls-
zeile expandiert, die "CMD.EXE" vor einer beliebigen Bearbeitung übergeben
wird (vorausgesetzt, es ist nicht bereits eine Umgebungsvariable mit dem
Namen "CMDCMDLINE" vorhanden, deren Wert dann zurückgegeben
würde).

Der Ausdruck "%CMDEXTVERSION%" wird zu einer Zeichendarstellung
des aktuellen Werts der Variablen "CMDEXTVERSION" expandiert (voraus-
gesetzt, es ist nicht bereits eine Umgebungsvariable mit dem Namen
"CMDEXTVERSION" vorhanden, deren Wert dann zurückgegeben würde).
Verarbeitet Ausdrücke in einer Batchdatei abhängig von Bedingungen.

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

  NOT              Befehl wird nur dann ausgeführt, wenn die Bedingung nicht
                   erfüllt ist.

  ERRORLEVEL Zahl  Bedingung ist erfüllt, wenn das zuletzt ausgeführte
                   Programm einen Code grӇer oder gleich der Nummer
                   zurückgibt.

  Zeichenfolge1==Zeichenfolge2
                   Bedingung ist erfüllt, falls die Zeichenfolgen gleich sind.
  
  EXIST Dateiname  Bedingung ist erfüllt, wenn die angegebene Datei existiert.

  Befehl           Gibt den Befehl an, der bei erfüllter Bedingung ausgeführt
                   werden soll. Diesem Befehl kann das Schlüsselwort ELSE
                   folgen. Der Befehl nach dem Wort ELSE wird ausgeführt, wenn
                   die angegebene Bedingung nicht erfüllt ist (FALSE).

Die ELSE-Klausel muss auf derselben Zeile mit dem Befehl nach IF stehen.
Zum Beispiel:

    IF EXIST test.txt (
        del test.txt
    ) ELSE (
        echo test.txt fehlt
    )

Die beiden folgenden Beispiele funktionieren nicht. 
Im ersten Fall wird der DEL-Befehl nicht durch ein Zeilenende abgeschlossen:

    IF EXIST test.txt del test.txt ELSE echo test.txt fehlt

In zweiten Fall befindet sich der ELSE-Befehl nicht auf derselben Zeile mit
dem IF Schlüsselwort:

    IF EXIST test.txt del test.txt
    ELSE echo test.txt fehlt

Hier ein Beispiel, wie alles auf einer Zeile angegeben werden kann:

    IF EXIST test.txt (del test.txt) ELSE echo test.txt fehlt

Wenn die Befehlserweiterungen aktiviert sind, wird der
IF-Befehl folgendermaáen verändert:

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

M”gliche Vergleichsoperatoren:

    EQU - gleich
    NEQ - nicht gleich
    LSS - kleiner als
    LEQ - kleiner als oder gleich
    GTR - grӇer als
    GEQ - grӇer 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" von "IF" verwendet werden.
Diese Vergleiche sind allgemein, das heiát, wenn beide Zeichenfolgen
nur aus Ziffern bestehen, werden die Zeichenfolgen in Zahlen
umgewandelt, und es wird ein numerischer Vergleich durchgeführt.

Die Bedingung "CMDEXTVERSION" arbeitet genau wie "ERRORLEVEL", nur
dass dabei mit einer internen Versionsnummer der Befehlserweiterungen
verglichen wird. Die erste Versionsnummer ist "1". Diese wird um eins erh”ht,
wenn bedeutende Verbesserungen an den Befehlserweiterungen vorge-
nommen 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 Umgebungsvariable definiert ist.

Der Ausdruck "%ERRORLEVEL%" wird zu einer Zeichendarstellung
des aktuellen Werts der Variablen "ERRORLEVEL" expandiert (voraus-
gesetzt, es ist nicht bereits eine Umgebungsvariable mit dem Namen
"ERRORLEVEL" vorhanden, deren Wert dann zurückgegeben würde).
Nachdem ein Programm ausgeführt wurde, gestaltet sich die Verwendung
von "ERRORLEVEL" wie folgt:

    goto Antwort%ERRORLEVEL%
    :Antwort0
    echo J für Ja eingegeben
    :Antwort1
    echo N für Nein eingegeben

Auch die oben aufgeführten numerischen
Vergleiche k”nnen verwendet werden:

    IF %ERRORLEVEL% LEQ 1 goto ok

Der Ausdruck "%CMDCMDLINE%" wird zu der ursprünglichen Befehls-
zeile expandiert, die "CMD.EXE" vor einer beliebigen Bearbeitung übergeben
wird (vorausgesetzt, es ist nicht bereits eine Umgebungsvariable mit dem
Namen "CMDCMDLINE" vorhanden, deren Wert dann zurückgegeben
würde).

Der Ausdruck "%CMDEXTVERSION%" wird zu einer Zeichendarstellung
des aktuellen Werts der Variablen "CMDEXTVERSION" expandiert (voraus-
gesetzt, es ist nicht bereits eine Umgebungsvariable mit dem Namen
"CMDEXTVERSION" vorhanden, deren Wert dann zurückgegeben würde).
Verarbeitet Ausdrücke in einer Batchdatei abhängig von Bedingungen.

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

  NOT               Befehl wird nur dann ausgeführt, wenn die Bedingung nicht
                    erfüllt ist.

  ERRORLEVEL Nummer Bedingung ist erfüllt, wenn das zuletzt ausgeführte
                    Programm einen Code grӇer oder gleich der Nummer
                    zurückgibt.

  Zeichenfolge1==Zeichenfolge2
                    Bedingung ist erfüllt, falls die Zeichenfolgen gleich sind.
  
  EXIST Dateiname   Bedingung ist erfüllt, wenn die angegebene Datei existiert.

  Befehl            Gibt den Befehl an, der bei erfüllter Bedingung ausgeführt
                    werden soll. Diesem Befehl kann das Schlüsselwort ELSE
                    folgen. Der Befehl nach dem Wort ELSE wird ausgeführt, wenn
                    die angegebene Bedingung nicht erfüllt ist (FALSE).

Die ELSE-Klausel muss auf der Zeile mit dem Befehl nach dem IF stehen.
Zum Beispiel:

    IF EXIST test.txt (
        del test.txt
    ) ELSE (
        echo test.txt fehlt
    )

Die beiden folgenden Beispiele funktionieren nicht. Im ersten Fall wird der 
DEL-Befehl nicht durch ein Zeilenende abgeschlossen:

    IF EXIST test.txt del test.txt ELSE echo test.txt fehlt

In zweiten Fall befindet sich der ELSE-Befehl nicht auf derselben Zeile mit
dem IF Schlüsselwort:

    IF EXIST test.txt del test.txt
    ELSE echo test.txt fehlt

Hier ein Beispiel, wie alles auf einer Zeile angegeben werden kann:

    IF EXIST test.txt (del test.txt) ELSE echo test.txt fehlt

Wenn die Befehlserweiterungen aktiviert sind, wird der IF-Befehl folgendermaáen
verändert:

    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 - grӇer als
    GEQ - grӇer 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 heiát, wenn beide
Zeichenfolgen nur aus Ziffern bestehen, werden die Zeichenfolgen in Zahlen
umgewandelt, und es wird ein numerischer Vergleich durchgeführt.

Die Bedingung CMDEXTVERSION arbeitet genau wie ERRORLEVEL, nur dass
dabei mit einer internen Versionsnummer der Befehlserweiterungen verglichen
wird. Die erste Versionsnummer ist 1. Diese wird um eins erh”ht 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 erhält).
Nachdem ein Programm ausgeführt wurde, sieht die Verwendung von ERRORLEVEL 
wie folgt aus:

    goto Antwort%ERRORLEVEL%
    :Antwort0
    echo J für Ja eingegeben
    :Antwort1
    echo N für Nein eingegeben

oder unter 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 erhält).

Der Ausdruck %CMDEXTVERSION% wird zu einer Zeichendarstellung des aktuellen
Werts der Variablen CMDEXTVERSION expandiert (vorausgesetzt, es gibt nicht
bereits eine Umgebungsvariable mit dem Namen CMDEXTVERSION, deren Wert man
dann erhält).
Verarbeitet Ausdrücke in einer Batchdatei abhängig von Bedingungen.

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

  NOT               Befehl wird nur dann ausgeführt, wenn die Bedingung nicht
                    erfüllt ist.

  ERRORLEVEL Nummer Bedingung ist erfüllt, wenn das zuletzt ausgeführte
                    Programm einen Code grӇer oder gleich der Nummer
                    zurückgibt.

  Zeichenfolge1==Zeichenfolge2
                    Bedingung ist erfüllt, falls die Zeichenfolgen gleich sind.
  
  EXIST Dateiname   Bedingung ist erfüllt, wenn die angegebene Datei existiert.

  Befehl            Gibt den Befehl an, der bei erfüllter Bedingung ausgeführt
                    werden soll. Diesem Befehl kann das Schlüsselwort ELSE
                    folgen. Der Befehl nach dem Wort ELSE wird ausgeführt, wenn
                    die angegebene Bedingung nicht erfüllt ist (FALSE).

Die ELSE-Klausel muss auf der Zeile mit dem Befehl nach dem IF stehen.
Zum Beispiel:

    IF EXIST test.txt (
        del test.txt
    ) ELSE (
        echo test.txt fehlt
    )

Die beiden folgenden Beispiele funktionieren nicht. Im ersten Fall wird der 
DEL-Befehl nicht durch ein Zeilenende abgeschlossen:

    IF EXIST test.txt del test.txt ELSE echo test.txt fehlt

In zweiten Fall befindet sich der ELSE-Befehl nicht auf derselben Zeile mit
dem IF Schlüsselwort:

    IF EXIST test.txt del test.txt
    ELSE echo test.txt fehlt

Hier ein Beispiel, wie alles auf einer Zeile angegeben werden kann:

    IF EXIST test.txt (del test.txt) ELSE echo test.txt fehlt

Wenn die Befehlserweiterungen aktiviert sind, wird der IF-Befehl folgendermaáen
verändert:

    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 - grӇer als
    GEQ - grӇer 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 heiát, wenn beide
Zeichenfolgen nur aus Ziffern bestehen, werden die Zeichenfolgen in Zahlen
umgewandelt, und es wird ein nummerischer Vergleich durchgeführt.

Die Bedingung CMDEXTVERSION arbeitet genau wie ERRORLEVEL, nur dass
dabei mit einer internen Versionsnummer der Befehlserweiterungen verglichen
wird. Die erste Versionsnummer ist 1. Diese wird um eins erh”ht 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 erhält).
Nachdem ein Programm ausgeführt wurde, sieht die Verwendung von ERRORLEVEL 
wie folgt aus:

    goto Antwort%ERRORLEVEL%
    :Antwort0
    echo J für Ja eingegeben
    :Antwort1
    echo N für Nein eingegeben

oder unter 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 erhält).

Der Ausdruck %CMDEXTVERSION% wird zu einer Zeichendarstellung des aktuellen
Werts der Variablen CMDEXTVERSION expandiert (vorausgesetzt, es gibt nicht
bereits eine Umgebungsvariable mit dem Namen CMDEXTVERSION, deren Wert man
dann erhält).
Verarbeitet Ausdrücke 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 ausgeführt werden, wenn die
                    Bedingung nicht erfüllt ist.
  ERRORLEVEL Nummer Ist erfüllt, wenn das zuletzt ausgeführte Programm einen
                    Code gr”áer oder gleich der Nummer zurückgibt.
  Befehl            Der auszuführende Befehl, falls die Bedingung erfüllt 
                    ist.
  Zeichenfolge1==Zeichenfolge2 
                    Ist erfüllt, falls die Zeichenfolgen gleich sind.
  EXIST Dateiname   Ist erfüllt, wenn die angegebene Datei existiert.


Wenn die Befehlserweiterungen aktiviert sind, wird der IF-Befehl folgendermaáen verändert:

    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 - grӇer als
    GEQ - grӇer 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 heiát, wenn beide
Zeichenfolgen nur aus Ziffern bestehen, werden die Zeichenfolgen in Zahlen
umgewandelt, und es wird ein numerischer Vergleich durchgeführt.

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 erh”ht 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 erhält). Damit kann man zum Beispiel folgendes tun:

    choice
    goto Antwort%ERRORLEVEL%
    :Antwort1
    echo J für Ja eingegeben
    goto :EOF
    :Antwort2
    echo N für 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 erhält).

Diese Beispiel überprüft die Existenz einer Datei und gibt die entsprechende Meldung aus.

Vergleichen von Zeichenketten:

IF [/I] Zeichenfolge1 Vergleichsoperator Zeichenfolge2 Befehl

Der Vergleichsoperator kann durch folgendes ersetzt werden:
EQU – gleich
NEQ – nicht gleich
LSS – kleiner als
LEQ – kleiner als oder gleich
GTR – größer als
GEQ – größer als oder gleich

[/I]
Dieser Parameter wird angegeben um die Groß\Kleinschreibung zu ignorieren.

Beispiel zum Vergleich von Zeichenketten.

Beispiel zum Vergleich von Zahlen die in einer Variablen gespeichert wurden.

Zudem lässt sich überprüfen ob eine bestimmte Variable gesetzt wurde.

IF DEFINED Variable Befehl

Hier ein kleines Beispiel welches erst überprüft ob die benötigten Variablen auch vorhanden sind.

Weitere Beispiele:
Batch Befehle Verknüpfen oder nach wahr\falsch Bedingung ausführen. Auch die Verwendung von If else ist in Batch möglich

Verfügbar unter
Windows 10, Windows 8.1, Windows 7, Windows Vista, Windows XP, Windows 2000, Windows NT4, Windows ME, Windows 98, Windows 95, Windows 2016 Server, Windows 2012 R2 Server, Windows 2008 R2 Server, Windows 2003 R2 Server, Windows 2000 Server, Windows NT4 Server

Beitrag kommentieren

Bitte verfasse einen Kommentar.

Dein Kommentar wird vor der Freischaltung von einem Admin moderiert.