0

我在c:\Program Files目錄中有一個文件tmp.txt如何在Windows命令行中轉義?

對於tmp.txt中的每一行,我想執行一條命令。

我想使用命令提示符for循環,但它無法找到tmp.txt。請注意,我必須在c:\Program Files目錄中運行此命令。

這裏是我正在嘗試:

C:\>for /F %i in ("c:\Program Files\tmp.txt") do echo "%i" 

輸出爲:

C:\>echo "c:\Program" 
"c:\Program" 

這意味着for正在考慮"c:\Program"作爲參數,並將其傳遞給do

如果我把文件在c:\,並運行for循環爲 -

C:\>for /F %i in (c:\tmp.txt) do echo "%i" 

它工作得很好

所以我的問題是 - 如何傳遞完整路徑for循環,使for把它當作文件

回答

2

使用usebackq選項for /f

for /f "usebackq" %i in (...) 

這會更改各種引用字符的語義,如同幫助狀態一樣:

usebackq  - specifies that the new semantics are in force, 
        where a back quoted string is executed as a 
        command and a single quoted string is a 
        literal string command and allows the use of 
        double quotes to quote file names in 
        file-set. 
+0

工程就像一個魅力!謝謝。 – user837208 2012-04-05 10:32:36

相關問題