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

基本描述

在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

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

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
  • 17
    点赞
  • 80
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
回答: 在Windows批处理中,if exist是一个条件语句,用于检查指定的文件或文件夹是否存在。\[3\]如果存在,则执行if exist后面的命令;如果不存在,则执行else后面的命令。这个语句可以用于判断文件或文件夹是否存在,并根据结果执行相应的操作。例如,可以使用if exist命令来删除文件或文件夹。\[3\]另外,if exist也可以用于判断文件夹是否存在,如果不存在则创建它。\[3\]总之,if exist是Windows批处理中常用的条件语句,用于根据文件或文件夹的存在与否执行相应的操作。 #### 引用[.reference_title] - *1* [Windows批处理 if判断详细介绍](https://blog.csdn.net/m0_59900155/article/details/128625531)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down1,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [Windows批处理(cmd/bat)常用命令小结](https://blog.csdn.net/guorui_java/article/details/117675304)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down1,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [windows批处理删除文件夹、删除文件、if exist用法](https://blog.csdn.net/weixin_53273474/article/details/128716525)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值