Commande : if

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

Syntaxe :

  IF [NOT] ERRORLEVEL nombre commande
  IF [NOT] chane1==chane2 commande
  IF [NOT] EXIST nomfichier commande
     lecteur   La lettre du lecteur, par exemple C:
     chemin    Le rpertoire, par exemple \exemple\
     nomfichier Le fichier, par exemple test.txt

Options :

  NOT               Spcifie que le shell de commande doit excuter
                    la commande uniquement si la condition est fausse.
                    (Sans cela, la commande sera excute si la
                    condition est vraie.)
  ERRORLEVEL nombre Spcifie une condition vraie si la dernire
                    excution du programme a retourn un code de sortie
                    gal ou suprieur au numro spcifi.
  commande          Spcifie la commande  excuter si la condition
                    est remplie.
  chane1==chane2  Spcifie une condition vraie si les chanes de texte
                    spcifis correspondent.
  EXIST nomfichier  Spcifie une condition vraie si le nom de fichier
                    spcifi existe.

Commentaires :

  ERRORLEVEL nombre:   Les programmes DOS retournent un nombre quand
                       ils quittent, et ce nombre contient parfois des
                       informations permettant de savoir si le programme
                       a russi. Si le dernier programme  quitter a
                       retourn le nombre donn, alors la condition
                       est vraie.
  chane1==chane2     Si les deux chanes de caractres 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 mme chane
                  (A et B sont "freedos", donc le message apparatra)
    if %A%==%C% ECHO A et C sont la mme chane
                  (A est "freedos", C est "autredos", donc aucun message
                   n'apparatra)
    if not %A%==%C% ECHO A et C ne sont pas la mme chane
                  (A est "freedos", C est "autredos", comme ils ne sont
                   PAS identiques, le message apparatra)

Voir galement :

  autoexec.bat
  fichiers batch
  choice
  goto

  Copyright © 2003 Robert Platt, mis  jour en 2007 par W. Spiegl.
  Traduit en 2020 par Berki Yenign.

  Ce fichier est driv de FreeDOS Spec Command HOWTO.
  Voyez le fichier H2Cpying pour les conditions de copie.