使用IF命令比较特殊字符与数字的大小:数字大于特殊字符。下面编写一个脚本来证明。
思路:遍历所有特殊字符(ASCII码位于0到127之间),与最小数字 0 相比较。
- :: 本示例包含汉字,如执行乱码,请使用 Notepad++ 把本文档转化成ANSI编码 【标注一】
- ::demo.bat
- @echo off
- ::ASCII码为1到8、11、12、14到25、27到31
- set "special_char_set=^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^"
- for %%a in (%special_char_set%) do (
- if 0 lss %%a echo ok
- )
- :: nul: ASCII码为0
- if "0" lss "" echo ok
- :: 制表符: ASCII码为9
- if "0" lss " " echo ok
- :: 换行符: ASCII码为10
- if 0 lss ^
- echo ok
-
- :: 回车符: ASCII码为13
- if 0 lss ^
- echo ok
- :: 替代符号: ASCII码为26
- if 0 lss ^ echo ok
- :: 空格: ASCII码为32
- if "0" lss " " echo ok
- ::ASCII码为33、35到41、43到47
- set "special_char_set=^! ^# ^$ %% ^& ^' ^( ^) ^+ ^, ^- ^. ^/ "
- for %%a in ( %special_char_set% ) do (
- if 0 lss %%a echo ok
- )
-
- :: 双引号: ASCII码为34
- if 0 lss ^" echo ok
- :: *: ASCII码为42
- if 0 lss ^* echo ok
- ::ASCII码为58、59、61、12、14到25、27到31
- set "special_char_set=^: ^; ^= ^@ "
- for %%a in (%special_char_set%) do (
- if 0 lss %%a echo ok
- )
- :: 小于号: ASCII码为60
- if 0 lss ^< echo ok
- :: 大于号: ASCII码为62
- if 0 lss ^> echo ok
- :: 问号: ASCII码为63
- if 0 lss ^? echo ok
- ::ASCII码为91到96
- set "special_char_set=^[ ^\ ^] ^^ ^_ ^`"
- for %%a in (%special_char_set%) do (
- if 0 lss %%a echo ok
- )
【标注一】 下载Notepad++
上面示例中,输入特殊字符,使用 ALT+特殊字符的ASCII码,详见:
https://blog.csdn.net/mt15306338066/article/details/127177951运行
- C:\>demo.bat
-
- C:\>
【结论】执行结果说明:使用IF命令比较特殊字符和数字:数字是大于特殊字符的。
使用IF命令比较小写字母与数字的大小:小写字母大于数字。下面编写一个脚本来证明。
- ::demo.bat
- @echo off
- set "char_set=a b c d e f g h i j k l m n o p q r s t u v w x y z"
- for %%, in (%char_set%) do (
- for /l %%# in (0,1,9) do (
- if %%, gtr %%# echo ok
- )
- )
运行
- C:\>demo
-
- C:\>
【结论】执行结果说明:使用IF命令比较小写字母与数字的大小:小写字母大于数字。
使用IF命令比较小写字母与大写字母的大小:大写字母大于小写字母。下面编写一个脚本来证明。
- ::demo.bat
- @echo off
- set "lowercase_letters=a b c d e f g h i j k l m n o p q r s t u v w x y z"
- set "uppercase_letters=A B C D E F G H I J K L M N O P Q R S T U V W X Y Z"
- for %%, in (%lowercase_letters%) do (
- for %%# in (%uppercase_letters%) do (
- if %%, gtr %%# echo ok
- )
- )
运行
- C:\>demo
-
- C:\>
【结论】执行结果说明:使用IF命令比较小写字母与大写字母的大小:大写字母大于小写字母。
使用IF命令比较汉字与大写字母的大小:汉字大于大写字母。下面编写一个脚本来证明。
- :: 本示例包含汉字,如执行乱码,请使用 Notepad++ 把本文档转化成ANSI编码 【标注一】
- ::demo.bat
- @echo off
- set "lowercase_letters=a b c d e f g h i j k l m n o p q r s t u v w x y z"
- set "uppercase_letters=A B C D E F G H I J K L M N O P Q R S T U V W X Y Z"
- for %%# in (%uppercase_letters%) do (
- if 王 lss %%# echo ok
- )
运行
- C:\>demo
-
- C:\>
【结论】执行结果说明:使用IF命令比较汉字与大写字母的大小:汉字大于大写字母。
写作不易,如果本文对您有用,请 “在下面一圈三连”。