Commande : if
IF effectue des traitements conditionnels dans les programmes batch.
IF est une commande de FICHIER BATCH / AUTOEXEC.BAT.
Elle peut aussi être utilisée sur la ligne de commande.
Syntaxe :
IF [NOT] ERRORLEVEL nombre commande
IF [NOT] chaîne1==chaîne2 commande
IF [NOT] EXIST nomfichier commande
lecteur La lettre du lecteur, par exemple C:
chemin Le répertoire, par exemple \exemple\
nomfichier Le fichier, par exemple test.txt
Options :
NOT Spécifie que le shell de commandes ne doit exécuter
la commande que si la condition est fausse.
(Sans cela, la commande sera exécutée si la
condition est vraie.)
ERRORLEVEL nombre Spécifie une condition vraie si le dernier programme
exécuté a retourné un code de sortie égal ou
supérieur au nombre spécifié.
commande Spécifie la commande à exécuter si la condition est
remplie.
chaîne1==chaîne2 Spécifie une condition vraie si les chaînes de texte
spécifiées correspondent.
EXIST nomfichier Spécifie une condition vraie si le nom de fichier
spécifié existe.
Commentaires :
ERRORLEVEL nombre : Les programmes DOS renvoient un nombre
lorsqu'ils quittent, et ce nombre contient parfois
des informations sur la réussite du programme.
Si le dernier programme qui a quitté a renvoyé
le nombre donné, alors la condition est vraie.
string1==string2 Si les deux chaînes de caractères sont égales,
alors la condition est vraie.
exist [lecteur] Si le fichier donné est là, alors la
[chemin] condition est vraie
nomfichier
IF est une commande interne à command.com est ne nécessite aucun
autre fichier pour fonctionner.
Exemples :
DANS UN FICHIER .BAT / AUTOEXEC.BAT :
if exist c:\kernel.sys ECHO Le kernel existe
(affiche un message si le kernel existe)
set A=freedos
set B=freedos
set C=autredos
if %A%==%B% ECHO A et B sont la même chaîne
(A et B sont "freedos", donc le message apparaîtra)
if %A%==%C% ECHO A et C sont la même chaîne
(A est "freedos", C est "autredos", donc aucun message
n'apparaîtra)
if not %A%==%C% ECHO A et C ne sont pas la même chaîne
(A est "freedos", C est "autredos", comme ils ne sont
PAS identiques, le message apparaîtra)
Voir également :
autoexec.bat
fichiers batch
choice
goto
Copyright © 2003 Robert Platt, mis à jour en 2007 par W. Spiegl.
Traduit en 2020 par Berki Yenigün.
Ce fichier est dérivé de FreeDOS Spec Command HOWTO.
Voyez le fichier H2Cpying pour les conditions de copie.