
在批处理(Batch)脚本中,IF 语句用于根据条件执行不同的命令。以下是 IF 语法及其用法的详细说明:
基本语法
简单 IF 语句
IF condition command如果 condition 为真,则执行 command。
带 ELSE 的 IF 语句
IF condition ( command1 ) ELSE ( command2 )如果 condition 为真,则执行 command1;否则执行 command2。注意,括号是必需的,并且需要正确地嵌套和闭合。
检查字符串是否相等
IF "%string1%"=="%string2%" command如果 %string1% 和 %string2% 完全相同(包括大小写),则执行 command。
检查字符串是否不相等
IF NOT "%string1%"=="%string2%" command如果 %string1% 和 %string2% 不完全相同,则执行 command。
检查数字关系
IF number1 comparison_operator number2 command其中 comparison_operator 可以是以下之一:
- EQU - 等于
- NEQ - 不等于
- LSS - 小于
- LEQ - 小于或等于
- GTR - 大于
- GEQ - 大于或等于
例如:
IF 5 GEQ 3 ECHO This is true检查文件是否存在
IF EXIST filename command如果指定的文件存在,则执行 command。
检查目录是否存在
IF EXIST directoryname command如果指定的目录存在,则执行 command。
定义环境变量并检查其值
SET var=value IF DEFINED var command如果已设置环境变量 var,则执行 command。
示例
简单的条件判断
@echo off SET num=10 IF %num% GTR 5 ECHO Number is greater than 5带 ELSE 的条件判断
@echo off SET num=3 IF %num% GTR 5 ( ECHO Number is greater than 5 ) ELSE ( ECHO Number is less than or equal to 5 )检查字符串是否相等
@echo off SET str1=hello SET str2=world IF "%str1%"=="%str2%" ECHO Strings are equal IF NOT "%str1%"=="%str2%" ECHO Strings are not equal检查文件是否存在
@echo off IF EXIST C:\example.txt ECHO File exists IF NOT EXIST C:\example.txt ECHO File does not exist检查环境变量是否已定义
@echo off SET myVar=someValue IF DEFINED myVar ECHO Variable is defined IF NOT DEFINED myVar ECHO Variable is not defined
通过这些基本的 IF 语法和示例,你可以在批处理脚本中实现复杂的条件逻辑。
