我来说几句:
if 是批处理常用的判断语句,灵活运行用if是非常重要的。。。
if句式中的比较符是大家首先要掌握的,比效符有== lss leq equ geq gtr neq
== 就是我们平常用的等号,只是为了区别使用了两个等号
lss 小于
leq 小于等于
equ 等于
geq 大于等于
gtr 大于
neq 不等于
最要注意的一点就是比较双方加不加引号的问题,如比较的双方一定是数值的
话最好是不要加,为什么,先看示例:- @echo off
- if 5 gtr 12 (echo 5^>12) else (echo 5^<12)
- if "5" gtr "12" (echo 5^>12) else (echo 5^<12)
- pause>nul
复制代码 怎么样第二句的运行结果是不是出人意料,其实当比较双方被加上双引号后if是
把对象当作unicode字符来进行比效的,也就是按字符排序顺序来比较先后的,
5的字符排序在1后,所以第二句出来的结果就是5>12。
那么既然是这样,是不是所有的比较过程中都不要给对象加双引号呢?我们再看
一个示例:- @echo off
- set /p a=请输入值:
- if %a% neq 1 (echo no) else (echo yes)
- pause>nul
复制代码 当直接回车后,程序会报错(此时不应有1)并退出,而将双较的对象都加上双引
号后直接回车就会显示no了。所以,当比较的一方有可能值为空的时候,请给比
较的对象加上双引号。
好了,就讲这么多了,其实还有很多要注意的地方如:if /i,还是大家自己在平常
练习中多去体会和总结了。
ps:楼主这种学习的精神和态度是值得大家来效仿的。 |