我想对文件的每一行进行一些处理。
for /f "delims=" %%i in ("%RF_PROPERTIES%") do (
echo %%i
)
我的RF_PROPERTIES指向带空格的文件路径(c:\ program files \ Arcot systems \ conf \ rf.properties)。它抱怨说环境变量C:\ Program Files \ Arcot没有定义,即使我已经提供了引号。如何让它运作?
答案 0 :(得分:22)
尝试添加usebackq
选项:
for /f "usebackq delims=" %%i in ("%RF_PROPERTIES%") do (
echo %%i
)
for /?
的输出说明:
usebackq - 指定 新的语义已经生效, 其中后引用字符串作为a执行 命令和单引号字符串是一个 文字字符串命令和允许使用 引用文件名的双引号 文件集。
答案 1 :(得分:1)
使用usebackq是一个好主意 - 但实际上你必须使用它们:
for /f "usebackq delims=" %%i in ( `dir "%RF_PROPERTIES%" /s /b` ) do (
echo %%i
)