Windows批处理:命令if

if命令是批处理程序中条件判断的命令,根据得出的判断结果,执行相对应的操作。
if命令基本有以下几种用法 。
1、判断指定的文件名是否存在
IF [NOT] EXIST filename command

@echo off
if not exist ./test.bat echo test.bat is not exist!
if exist ./temp.bat call temp.bat
pause

执行结果:

test.bat is not exist!
这是一个临时的测试批处理
请按任意键继续. . .

2、判断数值或者字符串相等
IF [/I] string1 compare-op string2 command
/I 开关(如果指定)说明要进行的字符串比较不分大小写
其中, compare-op 可以是:

EQU - 等于
NEQ - 不等于
LSS - 小于
LEQ - 小于或等于
GTR - 大于
GEQ - 大于或等于
@echo off

set "str1=this ia a test!"

set "str2=hello world!"

set num=100

if "%str1%"=="%str2%" (echo str1 等于 str2) else echo str1 不等于str2

if "%str2%" equ "Hello World!" (echo %str2% ) else (echo str2 不等于 Hello World)

if /i "%str2%" equ "Hello World!" (echo %str2% ) else (echo str2 不等于 Hello World)

if %num% equ 100 (echo num 等于 100) else echo num 不等于 100



pause

执行结果:

str1 不等于str2
str2 不等于 Hello World
hello world!
num 等于 100
请按任意键继续. . .

3、结合 ERRORLEVEL使用
if errorlevel value command 含义:如果返回的错误码值大于或等于value时,将执行cmmand

@echo off

:START
choice /c YNC /m "确认请选Y,否请按N,取消按C." /T 3 /D C
if errorlevel 3 goto CANCEL
if errorlevel 2 goto NO
if errorlevel 1 goto YES

:YES
echo 你的选择是YES!
goto END

:NO
echo 你的选择是NO!
goto END

:CANCEL
echo 你的选择是CANCEL!

:END
goto START

pause

执行结果:

确认请选Y,否请按N,取消按C. [Y,N,C]?Y
你的选择是YES!
确认请选Y,否请按N,取消按C. [Y,N,C]?N
你的选择是NO!
确认请选Y,否请按N,取消按C. [Y,N,C]?C
你的选择是CANCEL!
确认请选Y,否请按N,取消按C. [Y,N,C]?

4、判官变量是否已经被定义

@echo off

set "str=this ia a test!"

set num=100

if defined str echo str 已经被定义了

if defined num echo num 已经被定义了

if not defined var echo var 没有被定义

pause

执行结果:

str 已经被定义了
num 已经被定义了
var 没有被定义
请按任意键继续. . .

5、else 使用的注意事项

ELSE 子句必须出现在同一行上的 IF 之后。例如:

    IF EXIST filename. (
        del filename.
    ) ELSE (
        echo filename. missing.
    )
由于 del 命令需要用新的一行终止,因此以下子句不会有效:

IF EXIST filename. del filename. ELSE echo filename. missing

由于 ELSE 命令必须与 IF 命令的尾端在同一行上,以下子句也
不会有效:

    IF EXIST filename. del filename.
    ELSE echo filename. missing

如果都放在同一行上,以下子句有效:

    IF EXIST filename. (del filename.) ELSE echo filename. missing
  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值