Windows 批处理(bat) if条件判断语句使用教程

Windows 批处理(bat) if条件判断语句使用教程文章详细介绍了在批处理 BAT 脚本中如何使用 If 条件判断语句 包括基本格式 比较操作符 字符串比较 多分支结构 if elseif else 以及拓展功能 如 Ifexist 检查文件

大家好,欢迎来到IT知识分享网。

基本描述

在bat脚本中,if条件判断语句共有6种比较操作符,分别为

操作符(不区分大小写) 描述 全称
equ 等于 equal
neq 不等于 no equal
lss 小于 less than
leq 小于等于 leq less than or equal
gtr 大于 greater than
geq 大于等于 geq greater than or equal

If指令基本格式

指令格式为:if 条件表达式 (…)
注意:

  1. 英文缩写的比较操作符,左右两边必须有空格;
    “==”两侧可以不加空格
  2. 比较表达式和()之间必须有空格
@echo off Set inputValue=15 if %inputValue%==15 (echo %inputValue%等于15) if %inputValue% equ 15 (echo %inputValue%等于15) pause 

请添加图片描述

指令参数

判断字符串是否相等的时候,if语句会区分大小写
参数”/I(i)”可以在比较字符串时串忽略大小写

@echo off if "abc"=="ABC" ( echo 大小相等 ) else ( echo 大小不等 ) if /i "abc"=="ABC" ( echo 大小相等 ) else ( echo 大小不等 ) pause 

在这里插入图片描述

多分支语句 if else if

1. if else if均在一行

@echo off set inputValue=15 if %inputValue% gtr 100 (echo %inputValue%大于100) else if %inputValue% gtr 10 (echo %inputValue%大于10) else (echo %inputValue%小于或等于10) pause 

请添加图片描述

2. 右括号“(” 和else if 多行

右括号”)”与 else之间空格可忽略

@echo off set inputValue=23 if %inputValue% gtr 100 ( echo 大于100 ) else if %inputValue% gtr 10 ( echo 大于10 ) else if %inputValue% gtr 0 ( echo 大于0 ) pause 

3. if 和 else if多行

右括号”)”后需跟 “^”

@echo off set inputValue=23 if %inputValue% gtr 100 ( echo 大于100 )^ else if %inputValue% gtr 10 ( echo 大于10 )^ else if %inputValue% gtr 0 ( echo 大于0 ) pause 

If条件语句拓展功能

1. If exist

判断驱动器、文件夹或文件是否存在
注意:if后的变量要加 %%

@echo off set filepath=C:\ if exist %filepath% ( echo %filepath%存在 ) if not exist %filepath% ( echo %filepath%不存在 ) set filepath=C:\Users\Administrator\Desktop if exist %filepath% ( echo 路径%filepath%存在 ) else ( echo 路径%filepath%不存在 ) set sourcefile=C:\Users\Administrator\Desktop\test.bat if exist %sourcefile% ( echo 文件%sourcefile%存在 ) else ( echo 文件%sourcefile%不存在 ) pause 

2. If defined

判断某个变量是否已经被赋值
注意:if后的变量 不能加 %%

@echo off set /p filepath=请输入: if defined filepath ( echo filepath存在 ) if not defined filepath ( echo filepath不存在 ) pause 

3. if结合errorlevel使用

结果判断,说明:环境变量errorlevel的初始值为0,当一些命令执行不成功,就会返回一个数值,如:1 ,2 等

@echo off rem call "D:\VS Code\Microsoft VS Code\Code.exe" call C:\Users\Administrator\Desktop\printf.bat if %errorlevel% == 0 ( echo 前条执行成功 ) else ( echo 前条执行失败 ) pause 

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://haidsoft.com/158621.html

(0)
上一篇 2025-01-18 22:26
下一篇 2025-01-18 22:33

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注微信