6
FOR /f %%F IN ('dir /b /s "%DeploymentDirectory%\Run.*.dll"') DO ECHO %%F

Проблема в том, что пути, возвращаемые dir имеют пробелы, и отображается только часть пути. Как мне исправить, чтобы он отображал полный путь?

3 ответа3

4

Вам нужно установить разделители, используемые для разделения строки на токены, чтобы не было пробелов. Что-то вроде "delims =?"«Сразу после / ф. Просто используйте символ, который недопустим в именах файлов (? и * хорошие кандидаты)

FOR /F "delims=?" %%F in ('dir /b /s "%Dir%\Run.*.dll"') DO ECHO "%%F"

Просто не забудьте поставить двойные кавычки вокруг %% F в ваших реальных командах, так как в расширенной переменной также будут пробелы.

3

Зачем вам вообще нужно перебирать вывод dir , здесь? Просто используя

for /r %%F in ("%DeploymentDirectory%\Run.*.dll")

не хватает?

1

установить границы как начало и конец строки

for /f "delims=" %%F 

так далее

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .