[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖
我来说几句:
if 是批处理常用的判断语句,灵活运行用if是非常重要的。。。
if句式中的比较符是大家首先要掌握的,比效符有== lss leq equ geq gtr neq
== 就是我们平常用的等号,只是为了区别使用了两个等号
lss   小于
leq   小于等于
equ  等于
geq  大于等于
gtr    大于
neq  不等于
最要注意的一点就是比较双方加不加引号的问题,如比较的双方一定是数值的
话最好是不要加,为什么,先看示例:
  1. @echo off
  2. if 5 gtr 12 (echo 5^>12) else (echo 5^<12)
  3. if "5" gtr "12" (echo 5^>12) else (echo 5^<12)
  4. pause>nul
复制代码
怎么样第二句的运行结果是不是出人意料,其实当比较双方被加上双引号后if是
把对象当作unicode字符来进行比效的,也就是按字符排序顺序来比较先后的,
5的字符排序在1后,所以第二句出来的结果就是5>12。
那么既然是这样,是不是所有的比较过程中都不要给对象加双引号呢?我们再看
一个示例:
  1. @echo off
  2. set /p a=请输入值:
  3. if %a% neq 1 (echo no) else (echo yes)
  4. pause>nul
复制代码
当直接回车后,程序会报错(此时不应有1)并退出,而将双较的对象都加上双引
号后直接回车就会显示no了。所以,当比较的一方有可能值为空的时候,请给比
较的对象加上双引号。
好了,就讲这么多了,其实还有很多要注意的地方如:if /i,还是大家自己在平常
练习中多去体会和总结了。
ps:楼主这种学习的精神和态度是值得大家来效仿的。
***共同提高***

TOP

返回列表