【WINDOWS / DOS 批处理】if命令中的比较运算符
微wx笑 2022-12-12【操作系统】 1 0关键字: 批处理 运算符
IF命令中,使用比较运算符的命令格式如下:(一) IF [NOT] string1 == string2 command (二) IF [/I] [NOT] string1 compare-op string2 command其中, compare-op 可以是: EQU ---
IF命令中,使用比较运算符的命令格式如下:
(一) IF [NOT] string1 == string2 command
(二) IF [/I] [NOT] string1 compare-op string2 command
其中, compare-op 可以是:
EQU --- 等于
NEQ --- 不等于
LSS --- 小于
LEQ --- 小于或等于
GTR --- 大于
GEQ --- 大于或等于
注意:compare-op 忽略大小写
在CMD.EXE禁用命令扩展模式下,只能使用 (一)
在CMD.EXE启用命令扩展模式下, (一)和 (二)均可使用
1、如果 string1 和 string2 均为单个字符,则比较的规则如下:
特殊字符小于数字
数字小于字母
同一个字母,小写字母小于大写字母
不同的字母,按照字母表中的顺序排列。
字母小于汉字
上述规则的证明,详见: IF命令之比较运算符证明实例
注意:特殊字符之间的比较,并不是按照它们的ASCII码的大小进行比较的。
示例
::demo.bat @echo off setlocal enableDelayedExpansion if 1 gtr ^, echo ok if z gtr 1 echo ok if z gtr y echo ok if Z gtr z echo ok if 王 gtr Z echo ok
2、如果 string1 和 string2 是字符串(或 string1 和 string2 其中之一是字符串),并且 string1 和 string2 不能都为数字,则它们的比较规则如下:
先 比较 string1 和 string2 的第一个字符,如果第一个字符不同,则第一个字符的比较结果就是string1 和 string2 的比较结果;如果第一个字符相同,就继续比较第二个字符,如果第二个字符不同,则第二个字符的比较结果就是string1 和 string2 的比较结果;如果第二个字符相同,就继续比较第三个字符 ...
示例
:: 本示例包含汉字,如执行乱码,请使用 Notepad++ 把本文档转化成ANSI编码 【标注一】 ::demo.bat @echo off setlocal enableDelayedExpansion :: a 大于 3 if 2a gtr 23 echo ok :: C 大于 c if abC gtr abc echo ok :: 1 大于 ^,( 转义后为 , ) if 12 gtr ^,2 echo ok :: A 大于 a if Abc gtr abc echo ok :: 王 大于 a if 王 gtr abC echo ok
摘自:https://blog.csdn.net/mt15306338066/article/details/127589183
本文为转载文章,版权归原作者所有,不代表本站立场和观点。
下一篇:如何使用bat得到文件大小