操作系统您现在的位置是:首页 > 博客日志 > 操作系统

【WINDOWS / DOS 批处理】if命令中的比较运算符

<a href='mailto:'>微wx笑</a>的头像微wx笑 2022-12-12操作系统 1 0关键字: 批处理  运算符  

IF命令中,使用比较运算符的命令格式如下:(一) IF [NOT] string1 == string2 command (二) IF [/I] [NOT] string1 compare-op string2 command其中, compare-op 可以是: EQU ---

IF命令中,使用比较运算符的命令格式如下:q01无知


q01无知

(一) IF [NOT] string1 == string2 command q01无知


q01无知

(二) IF [/I]  [NOT]  string1 compare-op string2 commandq01无知


q01无知

其中, compare-op 可以是:q01无知


q01无知

 EQU --- 等于q01无知

 NEQ --- 不等于q01无知

 LSS  --- 小于q01无知

 LEQ  --- 小于或等于q01无知

 GTR  --- 大于q01无知

 GEQ  --- 大于或等于q01无知

  注意:compare-op 忽略大小写 q01无知


q01无知

在CMD.EXE禁用命令扩展模式下,只能使用 (一)q01无知


q01无知

在CMD.EXE启用命令扩展模式下, (一)和 (二)均可使用q01无知


q01无知

1、如果 string1 和  string2 均为单个字符,则比较的规则如下:q01无知


q01无知

特殊字符小于数字q01无知

数字小于字母q01无知

同一个字母,小写字母小于大写字母q01无知

不同的字母,按照字母表中的顺序排列。q01无知

字母小于汉字q01无知

 上述规则的证明,详见: IF命令之比较运算符证明实例q01无知


q01无知

注意:特殊字符之间的比较,并不是按照它们的ASCII码的大小进行比较的。 q01无知


q01无知

          示例q01无知

::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 不能都为数字,则它们的比较规则如下:q01无知


q01无知

先 比较 string1 和  string2 的第一个字符,如果第一个字符不同,则第一个字符的比较结果就是string1 和  string2 的比较结果;如果第一个字符相同,就继续比较第二个字符,如果第二个字符不同,则第二个字符的比较结果就是string1 和  string2 的比较结果;如果第二个字符相同,就继续比较第三个字符 ... q01无知


q01无知

        示例q01无知

:: 本示例包含汉字,如执行乱码,请使用 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 q01无知


q01无知

本文为转载文章,版权归原作者所有,不代表本站立场和观点。

很赞哦! () 有话说 ()