BAT批处理脚本中的IF语句用于执行条件判断,根据条件是否满足来决定执行不同的命令。
基本语法和用法
IF语句的基本语法格式如下:
IF [NOT] condition command1 [ELSE command2]
NOT
:表示取反,即如果条件不满足时执行后面的命令。condition
:条件表达式,可以是以下几种:ERRORLEVEL number
:检查上一个命令的退出代码是否大于等于指定的数字。string1==string2
:检查两个字符串是否相等。EXIST filename
:检查文件是否存在。DEFINED variable
:检查变量是否已定义。
如果条件满足,则执行command1
;如果不满足,可以执行ELSE
后面的command2
。
示例
-
检查文件是否存在:
@echo off set file=D:\1.txt if exist %file% echo 文件存在 else echo 文件不存在
-
比较字符串:
@echo off set var1=abc if "%var1%"=="abc" (echo 字符串相等) else (echo 字符串不相等)
-
检查变量是否定义:
@echo off set var=value if defined var (echo 变量已定义) else (echo 变量未定义)
-
结合ERRORLEVEL使用:
@echo off netstat -an > nul if %ERRORLEVEL%==0 (echo 命令成功) else (echo 命令失败)