2011-09-06 141 views
4

以下.bat文件不会产生错误。为什么?'='和';'是什么意思?字符在.bat文件中的含义是什么?

@@@@@@@@@@@@@@@ 
::::::::::::::: 
;;;;;;;;;;;;;;; 
=============== 
=;=;=;=;=;=;=;= 
;=;=;=;=;=;=;=; 

我知道“@”行前缀表示“不回应”和::前缀表示“这是一条评论”,但什么做;=吗?

据我可以告诉你可以开始一行';'的任何混合物,和'='符号,并没有任何效果。 =;=;=;=;=;=dir确实执行dir。 '='和';'的正确解释是什么? ?

+1

对不起,但::并不意味着评论。冒号位于标签之前,但不能使用以冒号开头的标签,因此命令处理器会忽略它。在注释中使用:: for行是惯例,并且可以使用不能包含在标签中的其他字符获得同样的效果,如:/:\:。等等。 – Aacini

回答

4

它们被解释为命令行分隔符(以及逗号和空格字符),因此以下内容都是等同的;

dir c:\ /b 
dir c:\;/b 
dir c:\=/b 
dir c:\,/b 

=;=;=;=;=;=dir的情况下,他们可能被视为领先的空白,忽视

+0

感谢您也包括','。 –

1

例如

;;for;=/l=%%^^;in;,=;(;;0;=,=1,% hello% 5::@loop)=,=do;;@echo(%%^^%