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] 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 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.)
  ERRORLEVEL 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 :

  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 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.