La commande : "IF" est activé Windows 12, 11, 10, .. , MS Server 2025, 2022, 2019, .. disponible
Les exemples pour la commande "IF"
Le
`IF`La commande dans l'invite de commande Windows est utilisée pour exécuter des instructions conditionnelles dans des scripts batch. Voici quelques exemples:
Exemple 1 : vérification d'égalité simple :
@ECHO OFF
SET Variable1=10
SET Variable2=10
IF %Variable1% EQU %Variable2% (
ECHO Les variables sont les mêmes.
) ELSE (
ECHO Les variables ne sont pas égales.
)
Description : Dans cet exemple, les variables
`Variable1`et
`Variable2`par rapport. Si elles sont égales, le message
"Les variables sont égales." sortie, sinon
"Les variables ne sont pas égales."
Exemple 2 : Vérification de l'existence d'un fichier :
@ECHO OFF
IF EXIST C:\Exemple.txt (
ECHO Le fichier existe.
) ELSE (
ECHO le fichier n'existe pas.
)
Description : Ceci vérifie si le fichier « Example.txt » existe dans le répertoire C:\. Si le fichier existe, le message correspondant est affiché, sinon l'autre.
Exemple 3 : Vérification des entrées de l'utilisateur :
@ECHO OFF
SET /P entrée_utilisateur=entrer un nombre, SVP:
IF "%entrée_utilisateur%"=="" (
ECHO Vous n'avez pas saisi de valeur.
) ELSE (
ECHO Ils ont "%entrée_utilisateur%" entré.
)
Description : Ceci vérifie si l'utilisateur a saisi une valeur. Si aucune saisie n'a été effectuée, le message
"Vous n'avez pas saisi de valeur." sortie, sinon la chaîne de caractères saisie est affichée.
Exemple 4 : Vérification de la taille du fichier :
@ECHO OFF
SET déposer=C:\Exemple.txt
SET Taille_minimale=1024
FOR %%A IN (%déposer%) DO SET taille du fichier=%%~zA
IF %taille du fichier% GEQ %Taille_minimale% (
ECHO Le fichier respecte la taille minimale.
) ELSE (
ECHO Le fichier est trop petit.
)
Description : La taille du fichier « Exemple.txt » est vérifiée ici. Si la taille du fichier est supérieure ou égale à la taille minimale (
`Taille_minimale`), le message
"Le fichier atteint la taille minimale." sortie, sinon
"Le fichier est trop petit."
Exemple 5 : Vérification du système d'exploitation :
@ECHO OFF
VER | FIND "Windows 10" > NUL
IF %ERRORLEVEL% EQU 0 (
ECHO tu utilises Windows 10.
) ELSE (
ECHO Vous utilisez un autre système d'exploitation.
)
Description : Ceci vérifie si le système d'exploitation est Windows 10. Si tel est le cas, le message « Vous utilisez Windows 10. » sinon
"Vous utilisez un système d'exploitation différent."
Le
`IF`L'instruction permet de vérifier diverses conditions dans les scripts batch et de prendre les actions appropriées en fonction des résultats.
"IF" Extrait de l'aide de Microsoft Windows
Microsoft Windows [Version 10.0.19045.3693]
(c) Copyright 1985-2023 Microsoft Corp.
C:\\WINDOWS>
Lance l'exécution conditionnelle dans un programme de commandes.
IF [NOT] ERRORLEVEL nombre commande
IF [NOT] chaîne1==chaîne2 commande
IF [NOT] EXIST nom_de_fichier commande
NOT Indique que Windows XP n'effectue la commande que si
la condition est fausse.
ERRORLEVEL nombre Condition vraie si le dernier programme exécuté a
retourné un code sortie supérieur/égal au nombre donné.
commande Spécifie la commande à exécuter si la condition est
satisfaite.
chaîne1==chaîne2 Condition vraie si les chaînes spécifiées sont
identiques.
EXIST nom_de_fichier Condition vraie si le nom de fichier donné existe.
commande Spécifie la commande à exécuter si la condition est
vérifiée. Commande peut être suivi de la commande ELSE
qui exécutera la commande située après le mot-clé ELSE
si la condition est fausse (FALSE)
La clause ELSE doit être sur la même ligne que la commande suivant IF. Par
exemple:
IF EXIST nomfichier. (
del nomfichier.
) ELSE (
echo nomfichier. introuvable.
)
L'exemple suivant NE marche PAS car la commande del doit être terminée
par une nouvelle ligne :
IF EXIST nomfichier. del nomfichier. ELSE echo nomfichier. introuvable
L'exemple suivant NE marche PAS non plus, car la commande ELSE doit être sur
la même ligne que la fin de la commande IF :
IF EXIST nomfichier. del nomfichier.
ELSE echo nomfichier. introuvable
Enfin, l'exemple suivant marche si vous l'écrivez sur une seule ligne :
IF EXIST nomfichier. (del nomfichier.) ELSE echo nomfichier. introuvable
Si les extensions de commandes sont activées, IF est modifié comme suit :
IF [/I] Chaîne1 op-de-comp Chaîne2 commande
IF CMDEXTVERSION nombre commande
IF DEFINED variable commande
où op-de-comp peut être :
EQU - égal à
NEQ - différent de
LSS - inférieur à
LEQ - inférieur ou égal à
GTR - supérieur à
GEQ - supérieur ou égal à
et le commutateur /I, s'il est spécifié, demande d'ignorer la casse dans la
comparaison des chaînes. Le commutateur /I peut également être utilisé pour
la forme Chaîne1==Chaîne2 de IF. Ces comparaisons sont génériques : si les
chaînes Chaîne1 et Chaîne2 sont toutes deux faites uniquement de chiffres,
alors elles sont converties en nombres, et une comparaison numérique est
alors effectuée.
La condition CMDEXTVERSION marche comme ERRORLEVEL, sauf qu'elle compare
à un numéro de version interne associé aux extensions de commandes. La
première version des extensions est 1. Ce numéro sera incrémenté de un à
chaque amélioration significative. La condition CMDEXTVERSION n'est jamais
vraie lorsque les extensions de commandes sont désactivées.
La condition DEFINED fonctionne comme EXISTS, sauf qu'elle prend un nom de
variable d'environnement et renvoie vrai si la variable d'environnement
est définie.
%ERRORLEVEL% sera une représentation sous forme de chaîne de la valeur
en cours de ERRORLEVEL, pourvu qu'il n'existe pas déjà de variable
d'environnement portant le nom ERRORLEVEL, auquel cas ce serait la valeur de
cette dernière que vous obtiendriez. En utilisant cela et les comparateurs
numériques ci-dessous, vous pouvez faire :
goto answer%ERRORLEVEL%
:answer0
echo Le programme a retourné le code 0
:answer1
echo Le programme a retourné le code 1
vous pouvez aussi faire, en utilisant les comparaisons numériques ci-dessus :
IF %ERRORLEVEL% LEQ 1 goto okay
%CMDCMDLINE% sera la ligne de commande originale passée à CMD.EXE avant
tout traitement par CMD.EXE, pourvu qu'il n'existe pas déjà de variable
d'environnement portant le nom CMDCMDLINE, auquel cas ce serait la valeur
de cette dernière que vous obtiendriez.
%CMDEXTVERSION% sera une chaîne représentant la valeur actuelle de
CMDEXTVERSION, tant qu'il n'existe pas déjà de variable d'environnement
appelée CMDEXTVERSION, dans quel cas vous obtiendrez sa valeur à la place.
Informations importantes, conseils pour la commande "IF"
Lors de l'utilisation du
`IF`Dans l'invite de commande Windows, il y a quelques points importants à noter :
1.
Syntaxe des conditions : La syntaxe du
`IF`-La déclaration nécessite une formulation correcte de la condition. L'opérateur de comparaison (
`EQU`,
`NEQ`,
`LSS`,
`LEQ`,
`GTR`,
`GEQ`) doit être compris entre les valeurs à comparer. Notez les espaces dans la syntaxe pour éviter les erreurs inattendues.
2.
Utilisation de guillemets : Lors de la validation de chaînes, il est important d'utiliser des guillemets pour garantir que la condition est évaluée correctement. Exemple:
`IF "%Variable%"=="Valeur" ...`
3.
Variables : Si vous utilisez des variables dans la condition, assurez-vous qu'elles correspondent correctement
`%`sont enfermés, comme dans
`%Variable%`. Cela garantit que la valeur de la variable est correctement insérée dans la condition.
4.
Instruction ELSE : Le
`ELSE`l'instruction doit être sur la même ligne que la parenthèse fermante de
`IF`se lever ou commencer sur une nouvelle ligne. Exemple:
IF Condition (
Echo L'état est vrai.
) ELSE (
Echo La condition est fausse.
)
5.
Remarque`%ERRORLEVEL%`après une commande : Si vous disposez du
`IF`commande après une autre commande, vous pouvez
`%ERRORLEVEL%`pour vérifier le succès ou l'échec de cette commande. Exemple:
DIR C:\Répertoire_non_existant
IF %ERRORLEVEL% NEQ 0 (
Echo Erreur d'exécution DIR-commande.
)
6.
Comparaisons numériques : Pour les comparaisons numériques, vous devez
`EQU`,
`NEQ`,
`LSS`,
`LEQ`,
`GTR`,
`GEQ`pour s'assurer que les comparaisons sont faites correctement.
7.
Opérateurs logiques : Vous pouvez utiliser des opérateurs logiques comme
`AND`(
`&&`) et
`OR`(
`||`) pour créer des conditions complexes. Exemple:
IF Exist déposer.txt IF %Variable% EQU Valeur (
Echo Les deux conditions sont vraies.
)
8.
Combinaison avec d'autres commandes : Vous pouvez le faire
`IF`-Combinez des instructions avec d'autres commandes pour effectuer différentes actions en fonction des conditions.
9.
Espaces : Veillez à ne pas utiliser d'espaces inutiles dans vos conditions ou commandes, car cela peut entraîner un comportement inattendu.
Il est important de comprendre la syntaxe du
`IF`-Comprendre attentivement les instructions et s'assurer que les conditions sont formulées correctement pour obtenir le comportement souhaité. En cas de doute, vous pouvez consulter la documentation officielle de Microsoft ou les ressources en ligne.