Objectif :Exécuter l'un des nombreux ensembles de commandes alternatifs en fonction des valeurs des expressions conditionnelles

 

Format:IFF condition1 ALORS

jeu de commandes1

[ELSEIFF condition2  ALORS

jeu de commandes2 ]

[AUTRE

jeu de commandes3 ]

FINIF

 

condition1,2,3

Expressions conditionnelles

jeu de commandes1

Une ou plusieurs commandes à exécuter si condition1 est vrai

jeu de commandes2

Une ou plusieurs commandes à exécuter si condition1 est FAUX, mais condition2 est vrai.

jeu de commandes3

Une ou plusieurs commandes à exécuter si les deux condition1 et condition2 sont FAUX.

 

Voir aussi: IF et @SI.

 

Usage:

 

IFF est similaire à IF, mais il peut en effectuer un jeu de commandes lorsqu'un expression conditionnelle est vrai et différent jeu de commandes quand c'est faux. L'utilisation répétée de la clause facultative ELSEIFF permet à IFF d'évaluer séquentiellement plusieurs éléments indépendants. expression conditionnelles, et exécutez le jeu de commandes associé au premier VRAI expression conditionnelle, ou, si aucun n'est vrai, le jeu de commandes associé à la clause facultative ELSE. Après l'exécution de l'un des jeux de commandes la commande après la clause ENDIFF sera exécutée.

 

Vous doit commencer une nouvelle ligne ou Inclure un séparateur de commandes :

 

après chaque ALORS

avant chaque AUTRE

à la fois avant et après le AUTRE.

 

Les commandes individuelles dans chaque jeu de commandes peut être lignes séparées d'un fichier batch, ou ils peuvent être séparés par séparateurs de commandes, dans n'importe quelle combinaison. UN jeu de commandes peut également être vide. Les commandes individuelles dans un jeu de commandes peut inclure n’importe quelle commande interne, alias, commande externe ou fichier batch.

 

Les déclarations IFF peuvent être imbriqué, c'est-à-dire un jeu de commandes peut inclure un autre groupe IFF/ENDIFF. Vous devez vous assurer que chaque commande individuelle / jeu de commandes est syntaxiquement correct. Si un groupe IFF/ENDIFF "interne" est en erreur, il peut ne pas être détecté avant l'exécution du ENDIFF "externe".

 

Si le dernier argument de la ligne est un seul (, il est interprété comme le début d'un groupe de commande. IFF ajoutera les lignes suivantes (dans un fichier batch) ou vous demandera d'entrer davantage de données (sur la ligne de commande) jusqu'à ce qu'il obtienne une fermeture. ).

 

Notes

 

Assurez-vous de lire les notes d'avertissement à propos GOTO et IFF sous le GOTO commande avant d'utiliser un GOTO à l'intérieur d'une instruction IFF.

 

Si vous pipe données vers un IFF, les données seront transmises à la ou aux commandes suivant l'IFF, et non à l'IFF lui-même.

 

Mise en situation :

 

L'alias dans cet exemple vérifie si le paramètre est un sous-répertoire. Si tel est le cas, l'alias supprime les fichiers du sous-répertoire et le supprime (saisissez ceci sur une seule ligne) :

 

alias prune `iff isdir %1 then & del /s /x /z %1 & else & echo %1 n'est pas un répertoire ! & endiff`