Commande : if

  IF effectue des traitements conditionnels dans les programmes batch.
  IF est une commande de FICHIER BATCH / AUTOEXEC.BAT.
  Elle peut aussi ˆ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 commandes ne doit ex‚cuter
                    la commande que 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 le dernier programme
                    ex‚cut‚ a retourn‚ un code de sortie ‚gal ou
                    sup‚rieur au nombre 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‚es correspondent.
  EXIST nomfichier  Sp‚cifie une condition vraie si le nom de fichier
                    sp‚cifi‚ existe.

Commentaires :

  ERRORLEVEL nombre :  Les programmes DOS renvoient un nombre
                       lorsqu'ils quittent, et ce nombre contient parfois
                       des informations sur la r‚ussite du programme.
                       Si le dernier programme qui a quitt‚ a renvoy‚
                       le nombre donn‚, alors la condition est vraie.
  string1==string2     Si les deux chaŒnes de caractŠres sont ‚gales,
                       alors la condition est vraie.
  exist [lecteur]      Si le fichier donn‚ est l…, alors la
        [chemin]       condition est vraie
        nomfichier

  IF est une commande interne … command.com est ne n‚cessite aucun
  autre fichier pour fonctionner.

Exemples :

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

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