我想對文件的每一行進行一些處理。用於處理空格的文件名
for /f "delims=" %%i in ("%RF_PROPERTIES%") do (
echo %%i
)
我的RF_PROPERTIES指向帶空格(c:\ program files \ Arcot systems \ conf \ rf.properties)的文件路徑。它抱怨說環境變量C:\ Program Files \ Arcot沒有定義,即使我提供了引號。如何讓它工作?
我想對文件的每一行進行一些處理。用於處理空格的文件名
for /f "delims=" %%i in ("%RF_PROPERTIES%") do (
echo %%i
)
我的RF_PROPERTIES指向帶空格(c:\ program files \ Arcot systems \ conf \ rf.properties)的文件路徑。它抱怨說環境變量C:\ Program Files \ Arcot沒有定義,即使我提供了引號。如何讓它工作?
嘗試添加usebackq
選項:
for /f "usebackq delims=" %%i in ("%RF_PROPERTIES%") do (
echo %%i
)
從for /?
輸出說明:
有usebackq - 指定 新的語義已經生效, 其中執行一個後引號的字符串作爲 命令並且單引號字符串是 文字字符串命令並且允許使用 雙引號引用文件名在 文件集。
謝謝你。我天真地認爲「usebackq」僅僅是關於後面的報價處理,在我看來這不會影響雙引號處理。 (是的,應該有RTF-ed整個M.;) – yoyo 2014-04-24 21:47:37
使用有usebackq是一個好主意 - 但你確實有使用它們:
for /f "usebackq delims=" %%i in (`dir "%RF_PROPERTIES%" /s /b`) do (
echo %%i
)
你沒有,實際上 - 在我的答案中閱讀引用的大膽部分。 – Blorgbeard 2016-06-21 21:09:21
嘗試做設定RF_PROPERTIES = 「C:\ Program Files文件\阿科特系統\的conf \ rf.properties」 前循環 – BlackBear 2011-02-15 16:26:15