Windows 批处理(bat) if条件判断语句使用教程
基本描述
在bat脚本中,if条件判断语句共有6种比较操作符,分别为
其中,只有等于操作符可以使用符号 “==” 表示,其他操作符只能使用英文简写
当参与比较的字符串是字符串时,将被转换为对于的ASCII码进行比较
If指令基本格式
指令格式为:if 条件表达式 (…)
注意:
-
英文缩写的比较操作符,左右两边必须有空格;“==”两侧可以不加空格
-
比较表达式和()之间必须有空格
@echo off Set inputValue=15 if %inputValue%==15 (echo %inputValue%等于15) if %inputValue% equ15 (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
-
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
-
List item
右括号“(” 和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 -
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条件语句拓展功能
-
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 -
If defined
判断某个变量是否已经被赋值
注意:if后的变量 不能加 %%@echo off set /p filepath=请输入: if defined filepath ( echo filepath存在 ) if not defined filepath ( echo filepath不存在 ) pause -
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
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具
2021-02-21 【Window】创建线程的3种方式
2021-02-21 MFC-线程控制