Zweck:Führen Sie einen von mehreren alternativen Befehlssätzen basierend auf den Werten bedingter Ausdrücke aus

 

Format:IFF condition1 THEN

Befehlssatz1

[ELSEIFF condition2  THEN

Befehlssatz2 ]

...

[ANDERS

Befehlssatz3 ]

ENDIFF

 

condition1,2,3

Bedingte Ausdrücke

Befehlssatz1

Ein oder mehrere Befehle, die ausgeführt werden sollen, wenn condition1 ist wahr

Befehlssatz2

Ein oder mehrere Befehle, die ausgeführt werden sollen, wenn condition1 ist FALSCH, aber condition2 ist wahr.

Befehlssatz3

Ein oder mehrere Befehle, die ausgeführt werden sollen, wenn beides condition1 und condition2 sind FALSCH.

 

Siehe auch: IF und @WENN.

 

Verwendung:

 

IFF ähnelt IF, aber es kann eines ausführen Befehlssatz Wenn ein bedingter Ausdruck ist wahr und ein anderes Befehlssatz wenn es falsch ist. Die wiederholte Verwendung der optionalen ELSEIFF-Klausel ermöglicht es IFF, mehrere unabhängige Werte nacheinander auszuwerten bedingter Ausdrucks, und führen Sie die aus Befehlssatz mit dem ersten WAHR verbunden bedingter Ausdruck, oder, wenn keine wahr sind, die Befehlssatz mit der optionalen ELSE-Klausel verbunden. Nach der Ausführung eines der Befehlssätze Der Befehl nach der ENDIFF-Klausel wird ausgeführt.

 

Du muss eine neue Zeile beginnen oder schließe a ein Befehlstrennzeichen :

 

nach jedem THEN

vor jedem ELSEIFF

sowohl vor als auch nach dem ELSE.

 

Die einzelnen Befehle in jedem Befehlssatz könnte sein separate Zeilen einer Batchdatei, oder sie können durch getrennt werden Befehlstrennzeichen, in beliebiger Kombination. A Befehlssatz kann auch leer sein, Die einzelnen Befehle in a Befehlssatz kann jeden internen Befehl, Alias, externen Befehl oder jede Batchdatei enthalten.

 

IFF-Anweisungen können sein verschachtelt, dh a Befehlssatz kann eine weitere IFF/ENDIFF-Gruppe enthalten. Sie müssen sicherstellen, dass jeder einzelne Befehl / Befehlssatz ist syntaktisch korrekt. Wenn eine „innere“ IFF-/ENDIFF-Gruppe fehlerhaft ist, wird sie möglicherweise erst erkannt, nachdem die „äußere“ ENDIFF-Gruppe ausgeführt wurde.

 

Wenn das letzte Argument in der Zeile ein Single ist (, es wird als Beginn einer Befehlsgruppe interpretiert. IFF hängt die folgenden Zeilen an (in einer Batchdatei) oder fordert Sie zu weiteren Eingaben auf (in der Befehlszeile), bis es einen Abschluss erhält ).

 

Notizen

 

Lesen Sie unbedingt die Warnhinweise About GOTO und IFF unter der GOTO Befehl, bevor Sie a verwenden GOTO innerhalb einer IFF-Anweisung.

 

Wenn Sie Rohr Wenn Sie Daten an ein IFF senden, werden die Daten an den/die Befehl(e) übergeben, die dem IFF folgen, und nicht an das IFF selbst.

 

Beispiel:

 

Der Alias ​​in diesem Beispiel prüft, ob es sich bei dem Parameter um ein Unterverzeichnis handelt. Wenn ja, löscht der Alias ​​die Dateien des Unterverzeichnisses und entfernt es (geben Sie dies in eine Zeile ein):

 

alias prune `iff isdir %1 then & del /s /x /z %1 & else & echo %1 ist kein Verzeichnis! & endiff`