Подтвердить что ты не робот

Командный файл для цикла с пробелами в имени dir

Как мне это изменить:

for /f %%a IN ('dir /b /s build\release\*.dll') do echo "%%a"

для работы, когда путь содержит пробелы?

Например, если это выполняется из

c:\my folder with spaces

он будет эхо:

c:\my

Спасибо

4b9b3361

Ответ 1

Вам нужно использовать:

for /f "delims=" %%a IN ('dir /b /s build\release\*.dll') do echo "%%a"

Это переопределяет разделители по умолчанию, которые являются TAB и SPACE

Ответ 3

Если вы не хотите иметь дело с "кавычками", вы можете использовать переключатель "s" в% ~ dpnx []... это приведет к получению коротких имен файлов, с которыми легко работать.

из командной строки...

for /f "delims=" %f IN ('dir /b /s "C:\Program Files\*.dll"') do echo %~sdpnxf

внутри файла .CMD/.BAT вам нужно "убежать" от [%], например, удвоить [%%]

for /f "delims=" %%f IN ('dir /b /s "C:\Program Files\*.dll"') do echo %%~sdpnxf