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

  if命令参数详解(一)

  if命令参数详解(二)

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

         运行

C:\>demo
ok
ok
ok
ok
ok
C:\>

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

 【标注一】   下载Notepad++     

        运行

C:\>demo
ok
ok
ok
ok
ok
C:\>

 3、如果 string1 和  string2 均为数字,这时,它们使用的比较规则和上述第2种情况不同,需要先把它们转为数字,再按照数值进行比较。

        示例

:: 本示例包含汉字,如执行乱码,请使用 Notepad++ 把本文档转化成ANSI编码  【标注一】
::demo.bat
@echo off
setlocal enableDelayedExpansion
:: 先把字符串 123 和 55 转成数字 123 和 55 ,再按照数值进行比较
if 123 gtr 55 echo ok

        运行 

C:\>demo
ok
C:\>

写作不易,如果本文对您有用,请 “在下面一圈三连”。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值