Command: if

  IF performs conditional processing in batch programs.
  IF is a BATCH-FILE / AUTOEXEC.BAT command.
  It can also be used in command line.

Syntax:

  IF [NOT] ERRORLEVEL Nummer command
  IF [NOT] string1==string2 command
  IF [NOT] EXIST filename command
     drive     The drive letter, e.g. C:
     path      The directory, e.g. \example\
     filename  The file, e.g. test.txt

[Main menu] [top] (Syntax) [Options] [Comments] [Examples] [See also] [File]

Options:

  NOT               Specifies that the command shell should carry out 
                    the command only if the condition is false.
                    (Without this, the command will be run if the 
                    condition is true.)
  ERRORLEVEL number Specifies a true condition if the last program run
                    returned an exit code equal to or greater than the
                    number specified.
  command           Specifies the command to carry out if the condition 
                    is met.
  string1==string2  Specifies a true condition if the specified text
                    strings match.
  EXIST filename    Specifies a true condition if the specified filename
                    exists.

[Main menu] [top] [Syntax] (Options) [Comments] [Examples] [See also] [File]

Comments:

  ERRORLEVEL number:   DOS Programs return a number when they exit, 
                       which sometimes contains information on 
                       whether the program was successful. If the 
                       last program to exit returned the given number, 
                       then the condition is true.
  string1==string2     If the two strings of characters are equal, 
                       then the condition is true.
  exist [drive][path]  If the given file is there, then the condition 
        filename       is true.

  IF is a command internal to command.com 
  and needs no other file in order to work.

[Main menu] [top] [Syntax] [Options] (Comments) [Examples] [See also] [File]

Examples:

  IN A .BAT FILE / AUTOEXEC.BAT:
    if exist c:\kernel.sys ECHO Kernel exists 
                  (gives a message if kernel exists)

    set A=freedos
    set B=freedos
    set C=otherdos

    if %A%==%B% ECHO A and B are same string  
                  (A and B are "freedos", so the message will appear)
    if %A%==%C% ECHO A and C are same string
                  (A is "freedos", C is "otherdos", so no message 
                   will appear)
    if not %A%==%C% ECHO A and C are not same string 
                  (A is "freedos", C is "otherdos", as they are NOT 
                   the same, the message will appear)

[Main menu] [top] [Syntax] [Options] [Comments] (Examples) [See also] [File]

See also:

  autoexec.bat
  batch files
  choice
  goto

[Main menu] [top] [Syntax] [Options] [Comments] [Examples] (See also) [File]

File:

  Please read this command's lsm file also.
  You will find the updated version (internet) here and
  the version described in this manual page here.
  The lsm file contains information about the name of the programmer,
  the download site, and some other command related information.

[Main menu] [top] [Syntax] [Options] [Comments] [Examples] [See also] (File)


  Copyright © 2003 Robert Platt, updated 2007 by W. Spiegl.

  This file is derived from the FreeDOS Spec Command HOWTO.
  See the file H2Cpying for copying conditions.