Commande : if

  IF effectue des traitements conditionnels dans les programmes batch.
  IF est une commande de FICHIER BATCH / AUTOEXEC.BAT.
  Elle peut également être utilisée sur la ligne de commande.

Syntaxe :

  IF [NOT] NIVEAUERREUR 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 commande doit exécuter
                    la commande uniquement si la condition est fausse.
                    (Sans cela, la commande sera exécutée si la
                    condition est vraie.)
  NIVEAUERREUR nombre Spécifie une condition vraie si la dernière
                    exécution du programme a retourné un code de sortie
                    égal ou supérieur au numéro 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és correspondent.
  EXIST nomfichier  Spécifie une condition vraie si le nom de fichier
                    spécifié existe.

Commentaires :

  NIVEAUERREUR  nombre:   Les programmes DOS retournent un nombre quand
                       ils quittent, et ce nombre contient parfois des
                       informations permettant de savoir si le programme
                       a réussi. Si le dernier programme à quitter a
                       retourné le nombre donné, alors la condition
                       est vraie.
  chaîne1==chaîne2     Si les deux chaînes de caractères sont égales,
                       alors la condition est vraie.
  exist [lecteur][chemin]  Si le fichier donné est là, alors la condition
        nomfichier          est vraie.

  IF est une commande interne à command.com est n'a besoin d'aucun autre
  fichier pour fonctionner.

Exemples :

  DANS UN FICHIER .BAT / AUTOEXEC.BAT:
    if exist c:\kernel.sys ECHO Le kernel (noyau) 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.