bat if 语法

bat if 语法

在批处理(Batch)脚本中,IF 语句用于根据条件执行不同的命令。以下是 IF 语法及其用法的详细说明:

基本语法

  1. 简单 IF 语句

    IF condition command

    如果 condition 为真,则执行 command。

  2. 带 ELSE 的 IF 语句

    IF condition ( command1 ) ELSE ( command2 )

    如果 condition 为真,则执行 command1;否则执行 command2。注意,括号是必需的,并且需要正确地嵌套和闭合。

  3. 检查字符串是否相等

    IF "%string1%"=="%string2%" command

    如果 %string1% 和 %string2% 完全相同(包括大小写),则执行 command。

  4. 检查字符串是否不相等

    IF NOT "%string1%"=="%string2%" command

    如果 %string1% 和 %string2% 不完全相同,则执行 command。

  5. 检查数字关系

    IF number1 comparison_operator number2 command

    其中 comparison_operator 可以是以下之一:

    • EQU - 等于
    • NEQ - 不等于
    • LSS - 小于
    • LEQ - 小于或等于
    • GTR - 大于
    • GEQ - 大于或等于

    例如:

    IF 5 GEQ 3 ECHO This is true
  6. 检查文件是否存在

    IF EXIST filename command

    如果指定的文件存在,则执行 command。

  7. 检查目录是否存在

    IF EXIST directoryname command

    如果指定的目录存在,则执行 command。

  8. 定义环境变量并检查其值

    SET var=value IF DEFINED var command

    如果已设置环境变量 var,则执行 command。

示例

  1. 简单的条件判断

    @echo off SET num=10 IF %num% GTR 5 ECHO Number is greater than 5
  2. 带 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 )
  3. 检查字符串是否相等

    @echo off SET str1=hello SET str2=world IF "%str1%"=="%str2%" ECHO Strings are equal IF NOT "%str1%"=="%str2%" ECHO Strings are not equal
  4. 检查文件是否存在

    @echo off IF EXIST C:\example.txt ECHO File exists IF NOT EXIST C:\example.txt ECHO File does not exist
  5. 检查环境变量是否已定义

    @echo off SET myVar=someValue IF DEFINED myVar ECHO Variable is defined IF NOT DEFINED myVar ECHO Variable is not defined

通过这些基本的 IF 语法和示例,你可以在批处理脚本中实现复杂的条件逻辑。