Syntaxe
IF [NOT] ERRORLEVEL number command [ELSE expression]
|
IF [NOT] string1==string2 command [ELSE expression]
|
IF [NOT] EXIST FileName command [else expression]
|
IF [/I] string1 CompareOp string2 command [ELSE expression]
|
IF CMDEXTVERSION number command [ELSE expression]
|
IF DEFINED variable command [ELSE expression]
|
Paramètres
Nom |
Description |
command |
Ce paramètre permet d'indiquer la commande a exécuté si c'est la condition est rempli. |
string1==string2 |
Ce paramètre permet d'effectuer la commande si les deux chaines de caractères sont identiques. |
ERRORLEVEL number |
Ce paramètre permet d'indiquer si le code de retour du programme appeler à retourner correspond à la valeur spécifié. |
EXIST filename |
Ce paramètre permet de vérifier l'existence du fichier et s'il existe, il exécute la commande spécifié. |
NOT |
Ce paramètre permet d'exécuter la commande seulement si la condition est fausse. |
/I |
Ce paramètre permet d'indiquer qu'il ne faut pas faire de différences entre les majuscules et les minuscules dans les comparaison.. |
Description
Cette commande permet d'effectuer un test conditionnel sur une commande.
Remarques
- Si la chaîne de caractères comparée par une commande IF comprend des délimiteurs tels que un espace ou une virgule, alors les délimiteurs doivent avoir des échappements avec un
caret «^» ou la chaîne de caractères entière doit être entre guillemets. C'est ainsi que l'instruction IF traitera la chaîne de caractères comme un élément unique et non comme
plusieurs chaînes de caractères distinctes.
- Si la condition spécifiée dans une commande IF est vraie, la commande suivant la condition est exécutée. Si la condition est fausse, la commande de la clause IF est ignorée et
la commande exécute toute commande spécifiée dans la clause ELSE.
- Lorsqu'un programme s'arrête, il renvoie un code de sortie. Pour utiliser des codes de sortie comme conditions, utilisez la variable errorlevel.
- Si vous utilisez le paramètre DEFINED, les trois variables suivantes sont ajoutées à l'environnement : %errorlevel%, %cmdcmdline% et %cmdextversion%.
La variable %errorlevel% se développe en une représentation sous forme de chaîne de caractères de la valeur actuelle de la variable d'environnement ERRORLEVEL. Cette situation
suppose qu'il n'y a pas de variable d'environnement existante avec le nom ERRORLEVEL, si c'est le cas, vous obtiendrez cette valeur ERRORLEVEL à la place.
- La variable %cmdcmdline% se développe dans la ligne de commande d'origine ayant été passée à l'interpréteur de commande CMD avant tout traitement par
CMD. Cette situation suppose qu'il n'y a pas de variable d'environnement existante portant le nom CMDCMDLINE. Si tel est le cas, vous obtiendrez la valeur
CMDCMDLINE à la place.
- La variable %cmdextversion% se développe dans la représentation sous un format de chaîne de caractères de la valeur actuelle de cmdextversion. Cette situation suppose qu'il
n'y a pas de variable d'environnement existante portant le nom CMDEXTVERSION, si c'est le cas, vous obtiendrez la valeur CMDEXTVERSION à la place.
- Vous devez utiliser la clause ELSE sur la même ligne que la commande après le IF.
Exemple
L'exemple suivant permet d'afficher le message «Erreur» si un errorlevel n'est pas égale à 0 :
if not errorlevel 0 echo "Erreur"
|
Variante
Dernière mise à jour : Samedi, le 15 février 2020