2014-07-01 59 views
0

我剛開始用批處理文件,我試圖遍歷我Path環境變量,這個腳本:批處理錯誤「c: ant-1.8.4 bin此時意外。」

for %%A in %PATH% do echo %%A 

螞蟻,我發現了錯誤的稱號。

在運行set時,我看到該路徑有一個值,「c:\ ant-1.8.4 \ bin」是我正在尋找的。

我試圖玩弄它,甚至這樣的:

for %%A in %PATH% do echo TEST 

失敗,出現同樣的錯誤。

謝謝!

編輯 - 澄清 最後,我想對每個條目做一個小操作,所以Magoo的答案並不能真正爲我解決問題。

+0

['漂亮打印'窗口%PATH%變量可能重複 - 如何拆分';'在CMD殼](http://stackoverflow.com/questions/5471556/pretty-print-windows-path-variable-how-to-split-on-in-cmd-shell) –

+0

我看了他的問題和答案,但困擾他的事情是命令本身打印(「回顯某些東西」)。 我的問題是它不會在整個路徑上循環。 – orirab

+0

問題:1:您忘記了「在...中」的括號。 2:'for'會將空行,逗號,分號......分開,所以如果沒有使用某些指向問題的指示,您可能就沒有搜索到的輸出。抱歉。從概念上講,這似乎是一個簡單的問題,但實際上並不像看起來那麼簡單。 –

回答

0

在原來的問題適應答案從評論

有在for命令兩組不同括號的:

for %%x in (set) do (commands) 

第一組括號的限定元素集合中被處理和總是需要。

僅當for命令的每個迭代所執行的命令列表延伸到多行時,才需要第二組括號。

是的,空間,&<>!;:,"和一些特殊字符需要for命令和文件/文件夾的路徑處理時要考慮到。

1
@ECHO OFF 
SETLOCAL 
ECHO %path:;=&ECHO(% 

這應該顯示您的路徑元素之一。你的問題並不清楚 - 你實際上想做什麼?

+0

最後,我想對路徑中的每個條目進行一次小檢查,因此您的建議不適用於我。 – orirab

+0

嘗試指定您需要使其「工作「對不起,我的水晶球還在店裏。 – Magoo