2013-04-04 52 views
-1

批處理腳本中@ @ @ @ @ @ @命令有什麼區別? 例如,什麼是IF批處理腳本中@ @ @ @ @ @ @ @命令有什麼區別?

一個更 @IF 和 之間的區別問題: 什麼%和%%的批處理腳本之間的區別? 例如,什麼是 %G 和 %%摹

感謝之間的差異。

+0

%%用於轉義%。另請參閱http://stackoverflow.com/a/9397572/1410448 – david 2013-04-04 21:01:17

回答

1

@在一行的開始處將執行該行,但不會將其寫入輸出。這就像是爲了這條線而轉向echo off。請參閱What does @ mean in Windows Batch scripts?

%%用於for循環在批處理文件中以轉義想要「聲明」的變量名稱。例如:

for %%a in (*.txt) do (echo %%a) 

如果你寫的一樣for循環而不是在一個批處理文件,你會不會加倍%

for %a in (*.txt) do (echo %a) 

我從來沒有明白爲什麼,我只知道,就是這樣它是。 :-)也許別人可以詳細說明。

+0

在批處理文件中,單個百分號會被忽略,因此您需要使用另一個百分號進行轉義。 – 2013-04-04 22:55:35

+0

爲什麼在批處理文件中忽略單個百分比,而不是直接在命令行輸入?不同行爲背後的邏輯是什麼? – 2013-04-04 22:58:04

+0

找到我的答案:http://support.microsoft.com/kb/75634基本上這是因爲批處理文件具有處理%1,%2等的特殊條件 – 2013-04-04 23:01:37