2011-09-06 166 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(%%^^%