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
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.
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.
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)
See also:
autoexec.bat
batch files
choice
goto
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.