0


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

文章目录

基本描述

在bat脚本中,if条件判断语句共有6种比较操作符,分别为
操作符(不区分大小写)描述全称equ等于equalneq不等于no equallss小于less thanleq小于等于leq less than or equalgtr大于greater thangeq大于等于geq greater than or equal
其中,只有等于操作符可以使用符号 “==” 表示,其他操作符只能使用英文简写
当参与比较的字符串是字符串时,将被转换为对于的ASCII码进行比较

If指令基本格式

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

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

1. if else if均在一行

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

请添加图片描述

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

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

@echo off

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

3. if 和 else if多行

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

@echo off

set inputValue=23if%inputValue% gtr 100(
    echo 大于100)^elseif%inputValue% gtr 10(
    echo 大于10)^elseif%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://blog.csdn.net/m0_56208280/article/details/129129468
版权归原作者 up up day 所有, 如有侵权,请联系我们删除。

“Windows 批处理(bat) if条件判断语句使用教程”的评论:

还没有评论