Zweck:Führen Sie einen einzelnen Befehl aus, wenn eine Bedingung wahr ist

 

Format:WENN ICH] Bedingungsbefehl

WENN ICH] Zustand (command1) ANDERS (command2)

 

Zustand

A bedingter Ausdruck

Befehl

Der Befehl zum Ausführen von if Zustand ist wahr.

command1

Der Befehl zum Ausführen von if Zustand ist wahr.

command2

Der Befehl zum Ausführen von if Zustand ist falsch.

 

/Fall ignorieren)

 

Siehe auch: Bedingte Ausdrücke, IFF, @WENN.

 

Verwendung:

 

IF wird normalerweise nur in Aliasen und Batchdateien verwendet. Es folgt immer ein Zustand (sehen Bedingte Ausdrücke) und dann a Befehl. Zuerst Zustand ausgewertet wird, und wenn es WAHR ist, Befehl wird ausgeführt. Ansonsten, Befehl wird ignoriert.

 

Wenn die Bedingung FALSE ist, IF gibt ein Ergebnis ungleich Null zurück, sodass es von einem der bedingten Befehlsoperatoren ausgewertet werden kann (II or &&).

 

Verwenden Sie IF nicht mit mehreren Zeilen TCC Befehle wie DO (es sei denn, Sie verwenden die einzeilige Variante von DO).

 

Das ANSONSTEN ... Syntax von CMD wird auch unterstützt:

 

IF [/I] Bedingung (Befehl1) ELSE (Befehl2)

 

Die auszuführenden Befehle müssen in Klammern eingeschlossen werden (wie in a Befehlsgruppe). Wenn Zustand ist wahr, command1 wird ausgeführt, wenn FALSE, command2 ausgeführt wird. Hinweis: Diese Syntax ist viel weniger leistungsfähig als die IFF Befehl, der empfohlen wird.

 

Wenn das letzte Argument in der Zeile ein Single ist (, es wird als Beginn einer Befehlsgruppe interpretiert. IF hängt die folgenden Zeilen an (in einer Batch-Datei) oder fordert Sie zu weiteren Eingaben auf (in der Befehlszeile), bis ein Abschluss erfolgt ).

 
Wenn ein IF-Test fehlschlägt, wird der Rest des Befehls verworfen. Ob TCC Fahren Sie mit dem nächsten Befehl in der Zeile fort oder verwerfen Sie den Rest der Zeile und gehen Sie zur nächsten Zeile, abhängig davon Doppelte CMD-Fehler Konfigurationsoption. CMD verwirft alle verbleibenden Befehle in der Zeile, wenn ein IF-Test fehlschlägt, einschließlich der Befehle nach einem Befehlstrennzeichen oder einem Pipe-Zeichen. Wenn Sie das Verhalten von CMD.EXE bei einem IF, das sich auf alle Befehle in einer Zeile auswirkt, nicht reproduzieren möchten, legen Sie fest Doppelte Fehler zu Nein in der .INI-Datei. Das IF-Verhalten ist anders, wenn Doppelte Fehler is JA in einer Befehlsgruppe in einer Batchdatei. Wenn die Befehlsgruppe mehrere Befehlszeilen enthält, ignoriert ein fehlgeschlagener IF nur die restlichen Befehle in dieser Zeile. Die Befehle in den nachfolgenden Zeilen in der Befehlsgruppe werden weiterhin ausgeführt.
 
Zum Beispiel, wenn Doppelte CMD-Fehler aktiviert ist (Standardeinstellung), zeigt der folgende Befehl nichts an, da der zweite ECHO-Befehl zusammen mit dem ersten verworfen wird, wenn die Bedingung fehlschlägt. Wenn Doppelte CMD-Fehler ist behindert, es wird „Hallo“ angezeigt:
 

 

[c:\] if 1 == 2 echo Falsch! & Echo hallo

 

Option:

 

/IDiese Option ist nur aus Kompatibilitätsgründen enthalten CMD. Es hat keine Wirkung TCC, da bei allen Zeichenfolgenvergleichen die Groß-/Kleinschreibung nicht beachtet wird, es sei denn, Sie geben einen case-sensitiven Test (EQC) an.