注释是每个程序中不可或缺的(不是对计算机来说,而是对我们这些程序员阅读代码来说)
语法:
①rem 这是批处理的注释命令,rem后面的内容全部是注释
例:rem 这是一行注释
②:: 批处理遇到以冒号“:”开头的行时(忽略冒号前的空格),并且第二个:不是标签的合法字符(把它换成\;.等等都行),它不被当作一个合法的标签。自己不能被执行,也不能被当做标签(goto语句无法跳转得到),也不会被执行,这样的一行不就跟注释一样么
例如下面代码:
echo on rem this is a comment. echo this is a comment. :: this is a comment too. echo this is a comment too.
运行结果:
F:\tmp>echo on
F:\tmp>rem this is a comment.
F:\tmp>echo this is a comment.
this is a comment.
F:\tmp>echo this is a comment too.
this is a comment too.
从【rem this is a comment.】这一句可以看出,rem这是一个命令,但是不做任何处理。
而语句【:: this is a comment too.】没有回显到屏幕上,说明这个不是一个语句,当然也不是一个有效的标签,这里我们就当做是注释。
::这个后面真的不是标签么?
我们接下来做一个验证
echo on goto comment echo a echo b echo c echo d ::comment echo the last
运行结果是:
F:\tmp>goto comment
指定されたバッチ ラベルが見つかりません - comment【制定的batch标签未找到 - comment】
所以,::comment不是一个有效的标签,也不是一个有效的语句。哈哈,那这就是有效的注释了。
批处理中利用批处理的语法特性,还有一些其他的注释格式,个人不是很喜欢,仅仅是列出来,以望大家参考。
①goto语句和标签的使用,实现块儿注释,就是跳过goto语句和标签之间的内容
echo off goto comment commentcommentcommentcomment commentcommentcomment commentcomment comment :comment echo the last
执行结果
F:\tmp>echo off
the last
可见,goto语句和标签之间的内容被全部跳过,也不管那些内容是什么,些的对不对。
②%%百分号之间的内容都会帮当做注释的
echo on echo a echo %ssss%b echo c
%%里面的ssss会当做注释给忽略掉,就跟不存在%ssss%这些字符一样。
这种注释你不是看着很眼熟呢?对的,这个本来是用来取变量值的,而由于我们注释的内容,一般是没有被赋值过,也就是说,这个变量的值是空的。所以,运行的时候,就忽略到中间的内容。
看看执行结果就知道了。
F:\tmp>echo on
F:\tmp>echo a
a
F:\tmp>echo b
b
F:\tmp>echo c
c
不过,这个注释是不可以跨行的使用的,还有一点就是,单个出现的%会被忽略,刚才的那个语句如果写成%ssss%%b,黄色标记的%在执行的会被忽略,也就是一行中,如果最后一个%落单后,就会被寂寞的消失在代码的长河中。
rem 好了,别的也不废话了,这些注释已经够你用了,就不要再花心了。