Objet :Exécuter une seule commande si une condition est vraie

 

Format :IF [/I] condition command

IF [/I] condition (command1) ELSE (command2)

 

condition

Une expression conditionnelle

command

La commande à exécuter si la condition est VRAIE.

commande1

La commande à exécuter si lacondition est VRAIE.

commande2

La commande à exécuter si lacondition est FAUSSE.

 

/I(gnore case)

 

Voir aussi : Expressions conditionnelles, IFF, @IF.

 

Utilisation :

 

IF n'est généralement utilisé que dans les alias et les fichiers batch. Il esttoujours suivi d'une condition (voir Expressions conditionnelles), puis d'unecommande. La première condition est évaluée, et si elle est VRAIE, la commande est exécutée. Dans le cas contraire, lacommande est ignorée.

 

Si la condition est FAUSSE, IF renvoie un résultat non nul, de sorte qu'il peut être évalué par l'un des opérateurs de commande conditionnelle (II ou &&).

 

N'utilisez pas IF avec des commandes TCC comme DO (à moins que vous n'utilisiez la variante à ligne unique de DO).

 

La syntaxe IF ... ELSE ... de CMD est également prise en charge:

 

IF [/I] condition (command1) ELSE (command2)

 

Lescommandes à exécuter doivent être placées entre parenthèses (comme dans un groupe de commandes).  Si lacondition est VRAIE, la commande1 est exécutée, si elle est FAUSSE, la commande2 est exécutée .Note : cette syntaxe est beaucoup moins puissante que la  commandeIFF, qui est recommandée.

 

Si le dernier argument de la ligne est un simple (, ilest interprété comme le début d'un groupe de commandes. IF ajoutera les lignes suivantes (dans un fichier batch) ou vous invitera à saisir d'autres données (sur la ligne de commande) jusqu'à ce qu'il obtienne un )final .

 
Lorsqu'un test IF échoue, le reste de la commande est ignoré. Si TCC continue avec la commande suivante sur la ligne, ou rejette le reste de la ligne et passe à la ligne suivante, dépend de l' option de configuration Duplicate CMD Bugs.CMD rejette toutes les commandes restantes sur la ligne lorsqu'un test IF échoue, y compris celles qui se trouvent après un séparateur de commande ou un caractère pipe. Si vous ne souhaitez pas reproduire le comportement de CMD.EXE lorsqu'un test IF affecte toutes les commandes d'une ligne, définissez l'optionDuplicateBugs sur No dans le fichier .INI . Le comportement de l'IF est différent lorsque DuplicateBugs est sur YES dans un groupe de commandes d'un fichier batch. Si le groupe de commandes comporte plusieurs lignes de commande, un IF qui échoue n'ignorera que le reste des commandes de cette ligne. Les commandes des lignes suivantes du groupe de commandes seront toujours exécutées.
 
Par exemple, si  l'option Duplicate CMD Bugs est activée (par défaut), la commande suivante n'affichera rien, car la deuxième commande ECHO est rejetée en même temps que la première lorsque la condition échoue. Si Duplicate CMD Bugs est désactivé, la commande affichera "hello" :
 

 

[c:\] if 1 == 2 echo Wrong! & echo hello

 

Option :

 

/ICette option n'est incluse que pour des raisons de compatibilité avec CMD. Elle n'a aucun effet dans TCCcar toutes les comparaisons de chaînes sont insensibles à la casse, à moins que vous ne spécifiiez un test sensible à la casse (EQC).