Performs conditional processing in batch programs. If the condition specified in an if command is true, Windows NT carries out the command that follows the condition. If the condition is false, Windows NT ignores the command.
if [not] errorlevel number command if [not] string1==string2 command if [not] exist filename command
Specifies that Windows NT should carry out the command only if the condition is false.
Specifies a true condition only if the previous program run by CMD.EXE returned an exit code equal to or greater than number. When a program stops, it returns an exit code to Windows NT. The errorlevel parameter lets you use exit codes as conditions.
Specifies the command that Windows NT should carry out if the preceding condition is met.
Specifies a true condition only if string1 and string2 are the same. These values can be literal strings or batch variables (%1, for example). Literal strings do not need quotation marks.
Specifies a true condition if filename exists.
The following example displays the message "Can't find data file" if Windows NT cannot find the file PRODUCT.DAT:
if not exist product.dat echo Can't find data file
The following example displays an error message if an error occurs during formatting of the disk in drive A. If no error occurs, the error message is skipped.
@echo off :begin format a: /s if not errorlevel 1 goto end echo An error occurred during formatting. :end echo End of batch program.
The following example tests for the existence of a directory. The if command cannot be used to test directly for a directory, but the null (NUL) device does exist in every directory. Therefore, you can test for the null device to determine whether a directory exists.
if exist c:mydir\nul goto process