Wenn die Befehlserweiterungen aktiviert sind, wird der IF-Befehl folgendermaßen verändert: IF /I Zeichenfolge1 Vergleichsoperator ...

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.