| Zweck: | Ausführen eines von mehreren alternativen Befehlssätzen auf der Grundlage der Werte von bedingten Ausdrücken |
| Format: | IFF condition1 THEN |
commandset1
[ELSEIFF condition2 THEN
commandset2 ]
...
[ELSE
commandset3 ]
ENDIFF
Bedingung1,2,3 |
|
Befehlssatz1 |
Ein oder mehrere Befehle, die ausgeführt werden, wenn Bedingung1 TRUE ist |
Befehlssatz2 |
Ein oder mehrere Befehle , die ausgeführt werden, wennBedingung1 FALSCH ist, aber Bedingung2 WAHR ist. |
Befehlssatz3 |
Ein oder mehrere Befehle, die ausgeführt werden, wenn sowohl Bedingung1 als auch Bedingung2 FALSCH sind. |
Verwendung:
IFF ist ähnlich wie IF, kann aber einen Befehlssatz ausführen, wenn ein bedingter Ausdruck wahr ist, und einen anderen Befehlssatz, wenn er falsch ist. Die wiederholte Verwendung der optionalen ELSEIFF-Klausel ermöglicht es IFF, mehrere unabhängige bedingte Ausdrücke nacheinander auszuwerten und den Befehlssatzauszuführen , der mit dem ersten WAHREN bedingten Ausdruck verbunden ist , oder, wenn keiner wahr ist, den Befehlssatz, der mit der optionalen ELSE-Klausel verbunden ist. Nach der Ausführung eines derBefehlssätze wird der Befehl nach der ENDIFF-Klausel ausgeführt.
Nach jeder THEN-Klauselmüssen Sie eine neue Zeile beginnen oder ein Befehlstrennzeichen einfügen :
•nach jedem THEN
•vor jedem ELSEIFF
•sowohl vor als auch nach dem ELSE.
Die einzelnen Befehle in jedem Befehlssatz können einzelne Zeilen einer Batch-Datei sein , oder sie können durch Befehlstrennzeichen getrennt sein , in jeder Kombination. Ein Befehlssatz kann auch leer sein. Die einzelnen Befehle in einemBefehlssatz können jeden internen Befehl, Alias, externen Befehl oder jede Batch-Datei enthalten.
IFF-Anweisungen können verschachteltwerden , d. h. ein Befehlssatz kann eine weitere IFF-/ENDIFF-Gruppe enthalten. Sie müssen sicherstellen, dass jeder einzelne Befehl / Befehlssatz syntaktisch korrekt ist. Wenn eine "innere" IFF / ENDIFF-Gruppe fehlerhaft ist, wird dies möglicherweise erst nach der Ausführung des "äußeren" ENDIFF erkannt.
Wenn das letzte Argument in der Zeile ein einzelnes ( ist , wird es als Beginn einer Befehlsgruppe interpretiert. IFF hängt die folgenden Zeilen an (in einer Batch-Datei) oder fordert Sie zu weiteren Eingaben auf (in der Befehlszeile), bis es ein abschließendes )erhält .
Hinweise
Lesen Sie unbedingt die Vorsichtshinweise zu GOTO und IFF unter dem GOTO-Befehl, bevor Sie ein GOTO innerhalb einer IFF-Anweisung verwenden .
Wenn Sie Daten über die Pipeline an ein IFF übergeben, werden die Daten an den/die Befehl(e) nach dem IFF übergeben, nicht an das IFF selbst.
Beispiel:
Der Alias in diesem Beispiel prüft, ob der Parameter ein Unterverzeichnis ist. Ist dies der Fall, löscht der Alias die Dateien des Unterverzeichnisses und entfernt es (geben Sie dies in einer Zeile ein):
alias prune `iff isdir %1 then & del /s /x /z %1 & else & echo %1 is not a directory! & endiff`