• 【WINDOWS / DOS 批处理】IF命令之比较运算符证明实例


     if命令参数详解 if命令参数详解

    使用IF命令比较特殊字符与数字的大小:数字大于特殊字符。下面编写一个脚本来证明。

    思路:遍历所有特殊字符(ASCII码位于0到127之间),与最小数字 0 相比较。

    1. :: 本示例包含汉字,如执行乱码,请使用 Notepad++ 把本文档转化成ANSI编码 【标注一】
    2. ::demo.bat
    3. @echo off
    4. ::ASCII码为18111214252731
    5. set "special_char_set=^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^"
    6. for %%a in (%special_char_set%) do (
    7. if 0 lss %%a echo ok
    8. )
    9. :: nul: ASCII码为0
    10. if "0" lss "" echo ok
    11. :: 制表符: ASCII码为9
    12. if "0" lss " " echo ok
    13. :: 换行符: ASCII码为10
    14. if 0 lss ^
    15. echo ok
    16. :: 回车符: ASCII码为13
    17. if 0 lss ^
    18. echo ok
    19. :: 替代符号: ASCII码为26
    20. if 0 lss ^ echo ok
    21. :: 空格: ASCII码为32
    22. if "0" lss " " echo ok
    23. ::ASCII码为33、35到41、43到47
    24. set "special_char_set=^! ^# ^$ %% ^& ^' ^( ^) ^+ ^, ^- ^. ^/ "
    25. for %%a in ( %special_char_set% ) do (
    26. if 0 lss %%a echo ok
    27. )
    28. :: 双引号: ASCII码为34
    29. if 0 lss ^" echo ok
    30. :: *: ASCII码为42
    31. if 0 lss ^* echo ok
    32. ::ASCII码为58、59、61、12、14到25、27到31
    33. set "special_char_set=^: ^; ^= ^@ "
    34. for %%a in (%special_char_set%) do (
    35. if 0 lss %%a echo ok
    36. )
    37. :: 小于号: ASCII码为60
    38. if 0 lss ^< echo ok
    39. :: 大于号: ASCII码为62
    40. if 0 lss ^> echo ok
    41. :: 问号: ASCII码为63
    42. if 0 lss ^? echo ok
    43. ::ASCII码为91到96
    44. set "special_char_set=^[ ^\ ^] ^^ ^_ ^`"
    45. for %%a in (%special_char_set%) do (
    46. if 0 lss %%a echo ok
    47. )

    【标注一】   下载Notepad++     

    上面示例中,输入特殊字符,使用 ALT+特殊字符的ASCII码,详见:

    怎么通过ASCII码的输入字符https://blog.csdn.net/mt15306338066/article/details/127177951

            运行

    1. C:\>demo.bat
    2. C:\>

    【结论】执行结果说明:使用IF命令比较特殊字符和数字:数字是大于特殊字符的。

    使用IF命令比较小写字母与数字的大小:小写字母大于数字。下面编写一个脚本来证明。  

    1. ::demo.bat
    2. @echo off
    3. 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"
    4. for %%, in (%char_set%) do (
    5. for /l %%# in (0,1,9) do (
    6. if %%, gtr %%# echo ok
    7. )
    8. )

            运行

    1. C:\>demo
    2. C:\>

    【结论】执行结果说明:使用IF命令比较小写字母与数字的大小:小写字母大于数字。

    使用IF命令比较小写字母与大写字母的大小:大写字母大于小写字母。下面编写一个脚本来证明。           

    1. ::demo.bat
    2. @echo off
    3. 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"
    4. 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"
    5. for %%, in (%lowercase_letters%) do (
    6. for %%# in (%uppercase_letters%) do (
    7. if %%, gtr %%# echo ok
    8. )
    9. )

            运行

    1. C:\>demo
    2. C:\>

    【结论】执行结果说明:使用IF命令比较小写字母与大写字母的大小:大写字母大于小写字母。

    使用IF命令比较汉字与大写字母的大小:汉字大于大写字母。下面编写一个脚本来证明。   

    1. :: 本示例包含汉字,如执行乱码,请使用 Notepad++ 把本文档转化成ANSI编码 【标注一】
    2. ::demo.bat
    3. @echo off
    4. 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"
    5. 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"
    6. for %%# in (%uppercase_letters%) do (
    7. if 王 lss %%# echo ok
    8. )

            运行

    1. C:\>demo
    2. C:\>

     【结论】执行结果说明:使用IF命令比较汉字与大写字母的大小:汉字大于大写字母。

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

  • 相关阅读:
    java开发学习框架
    如何开发出来一款解决抖音本地生活的软件营销工具?
    Java Web 33道面试题汇总
    el-checkbox-group限制勾选数量
    Mysql语法三:表的约束和表与表之间的关系以及高级查询
    Docker镜像 配置ssh
    【AGC】【FAQ】Dynamic Ability常见问题
    辉芒PWM输出代码例程---1.5HZ
    数学建模__动态规划
    ESP8266-Arduino编程实例-74HC595位移寄存驱动
  • 原文地址:https://blog.csdn.net/mt15306338066/article/details/127602720