Для/f обработки имени файла с пробелами
Я хочу сделать некоторую обработку в каждой строке файла.
for /f "delims=" %%i in ("%RF_PROPERTIES%") do (
echo %%i
)
Мои RF_PROPERTIES указывают путь к файлу с пробелами (c:\program files\Arcot systems\conf\rf.properties). Жалоба говорит, что переменная среды C:\Program Files\Arcot не определена, хотя я предоставил кавычки. Как заставить его работать?
Ответы
Ответ 1
Попробуйте добавить параметр usebackq
:
for /f "usebackq delims=" %%i in ("%RF_PROPERTIES%") do (
echo %%i
)
Объяснение из вывода for /?
:
usebackq - указывает, что новая семантика в силе, где обратная кавычка выполняется как и одна строка с кавычками - это literal string и позволяет использовать двойные кавычки для цитирования имен файлов в файл набора.
Ответ 2
Использование usebackq - хорошая идея - но вы действительно должны их использовать:
for /f "usebackq delims=" %%i in ( `dir "%RF_PROPERTIES%" /s /b` ) do (
echo %%i
)