| Objet : | Exécuter l'une des différentes séries de commandes en fonction des valeurs des expressions conditionnelles. |
| Format : | IFF condition1 THEN |
commandset1
[ELSEIFF condition2 THEN
commandset2 ]
...
[ELSE
commandset3 ]
ENDIFF
condition1,2,3 |
|
jeu de commandes1 |
Une ou plusieurs commandes à exécuter si la condition 1 est VRAIE |
commandset2 |
Une ou plusieurscommandes à exécuter si la condition 1 est FAUX, mais que lacondition 2 est VRAIE. |
commandset3 |
Une ou plusieurscommandes à exécuter si lesconditions 1 et 2 sont FAUSSES. |
Utilisation :
IFFest similaire à IF, mais il peut exécuter un jeu de commandes lorsqu'une expression conditionnelle est vraie et un autre jeu de commandes lorsqu'elle est fausse . L' utilisation répétée de la clause optionnelle ELSEIFF permet à IFF d'évaluer séquentiellement plusieurs expressions conditionnelles indépendantes etd'exécuter le jeu de commandes associé à la première expression conditionnelle VRAIE ou, si aucune n'est vraie, le jeu de commandes associé à la clause optionnelle ELSE. Après l'exécution de l'un desjeux de commandes, la commande située après la clause ENDIFF sera exécutée.
Vous devez commencer une nouvelle ligne ou inclure un séparateur de commande:
•après chaque THEN
•avant chaque ELSEIFF
•avant et après la clauseELSE.
Les commandes individuelles de chaque jeu de commandes peuvent être des lignes distinctes d'un fichier batch ou être séparées par des séparateurs de commandes, dans n'importe quelle combinaison. Un jeu de commandes peut également être vide. Les commandes individuelles d'un jeu de commandes peuvent inclure n'importe quelle commande interne, alias, commande externe ou fichier batch.
Lesinstructions IFF peuvent êtreimbriquées, c'est-à-dire qu' un jeu de commandes peut inclure un autre groupe IFF / ENDIFF. Vous devez vous assurer que chaque commande / jeu de commandes est syntaxiquement correct. Si un groupe IFF / ENDIFF "interne" est erroné, il se peut qu'il ne soit détecté qu'après l'exécution de l'ENDIFF "externe".
Si le dernier argument de la ligne est un simple (, ilest interprété comme le début d'un groupe de commandes. IFF ajoutera les lignes suivantes (dans un fichier batch) ou vous demandera d'autres données (à la ligne de commande) jusqu'à ce qu'il obtienne un )final .
Remarques
Avant d'utiliser une instruction GOTO à l'intérieur d'une instruction IFF, lisez attentivement les mises en garde concernant GOTO et IFF sous la commande GOTO.
Si vous envoyez des données à un IFF, elles seront transmises à la ou aux commandes qui suivent l'IFF, et non à l'IFF lui-même.
Exemple :
L'alias de cet exemple vérifie si le paramètre est un sous-répertoire. Si c'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 is not a directory! & endiff`