Image Microsoft Windows

If

Assure le traitement conditionnel dans les programmes de commandes.

Syntaxe

if [not] errorlevel Nombre Commande [else Expression]

if [not] Chaîne1==Chaîne2 Commande [else Expression]

if [not] exist NomFichier Commande [else Expression]

Si les extensions de commandes sont activées, utilisez la syntaxe suivante :

if [/i] Chaîne1 OpComparaison Chaîne2 Commande [else Expression]

if cmdextversion Nombre Commande [else Expression]

if defined Variable Commande [else Expression]

Paramètres

not
Spécifie que la commande doit être exécutée uniquement si la condition est fausse.
errorlevel Nombre
Spécifie que la condition est vraie uniquement si le programme précédent exécuté par Cmd.exe a renvoyé un code de sortie égal ou supérieur à Nombre.
Commande
Spécifie la commande qui doit être exécutée si la condition précédente est remplie.
Chaîne1==Chaîne2
Ne reconnaît que la condition est vraie que si Chaîne1 et Chaîne2 sont identiques. Ces valeurs peuvent être des chaînes littérales ou des variables de fichier de commandes (par exemple, %1). Vous n'avez pas besoin d'utiliser de guillemets autour des chaînes littérales.
exist NomFichier
Ne reconnaît la condition comme étant vraie que si NomFichier existe.
OpComparaison
Spécifie un opérateur de comparaison en trois lettres. Le tableau suivant répertorie les valeurs valides de OpComparaison.
Opérateur Description
EQU Égal à
NEQ Différent de
LSS Inférieur à
LEQ Inférieur ou égal à
GTR Supérieur à
GEQ Supérieur ou égal à
/i
Force les comparaisons de chaînes à ne pas tenir compte de la casse. Vous pouvez utiliser /i sur la forme Chaîne1==Chaîne2 de if. Ces comparaisons sont génériques, en ce sens que si Chaîne1 et Chaîne2 sont tous deux constitués uniquement de chiffres numériques, les chaînes sont converties en nombres et une comparaison numérique est effectuée.
cmdextversion Nombre
Spécifie qu'une condition est vraie uniquement si le numéro de version interne associé à l'extension de commande de Cmd.exe est supérieur ou égal à Nombre. La première version est égale à 1. Elle est incrémentée d'une unité lorsque des améliorations significatives sont ajoutées aux extensions de commandes. L'expression conditionnelle cmdextversion n'est jamais vraie lorsque les extensions de commandes sont désactivées (par défaut, les extensions de commandes sont activées).
defined Variable
Ne reconnaît la condition comme étant vraie que si Variable est défini.
Expression
Spécifie qu'une commande de ligne de commande et tous ses paramètres doivent être transmis à la commande dans une clause else.
/?
Affiche l'aide à l'invite de commandes.

Remarques

Exemples

Si le fichier Produit.dat est introuvable, le message suivant s'affiche :

if not exist produit.dat echo Impossible de trouver le fichier de données

Si une erreur survient pendant le formatage de la disquette placée dans le lecteur A, l'exemple suivant affiche un message d'erreur :

:begin
@echo off
format a: /s
if not errorlevel 1 goto end
echo Une erreur s'est produite durant le formatage.
:end
echo Fin du programme de commandes.

Si aucune erreur ne s'est produite, le message d'erreur ne s'affiche pas.

Vous ne pouvez pas utiliser la commande if pour vérifier directement l'existence d'un répertoire ; cependant, un périphérique fictif (NUL) existe dans chaque répertoire. Par conséquent, vous pouvez vérifier sa présence pour déterminer si un répertoire existe. L'exemple suivant vérifie l'existence d'un répertoire :

if exist c:monrep\nul goto traitement

XOX

Rubriques connexes

Converted from CHM to HTML with chm2web Standard 2.75 (unicode)