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

您所在的位置:网站首页 if语句失效怎么处理 Windows 批处理(bat) if条件判断语句使用教程

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

2024-07-08 02:02| 来源: 网络整理| 查看: 265

文章目录 基本描述If指令基本格式指令参数多分支语句 if else if1. if else if均在一行2. 右括号“(” 和else if 多行3. if 和 else if多行 If条件语句拓展功能1. If exist2. If defined3. if结合errorlevel使用

基本描述

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

操作符(不区分大小写)描述全称equ等于equalneq不等于no equallss小于less thanleq小于等于leq less than or equalgtr大于greater thangeq大于等于geq greater than or equal

其中,只有等于操作符可以使用符号 “==” 表示,其他操作符只能使用英文简写 当参与比较的字符串是字符串时,将被转换为对于的ASCII码进行比较

If指令基本格式

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

英文缩写的比较操作符,左右两边必须有空格; “==”两侧可以不加空格比较表达式和()之间必须有空格 @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


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3