Как получить командный файл для обработки пробелов в именах файлов? - PullRequest
8 голосов
/ 26 января 2011

Я использую следующий командный файл для создания zip-файла для каждого xml в папке:

FOR %%f in ("C:\files\*.xml") DO 7za.exe a C:\files\zips\%%~nf.zip (%%f)

Однако, если в имени файла есть пробел (test plop.xml), пакетный файл не работает. Кажется, что имя разделено и думает, что это 2 файла.

Как изменить пакетный файл, чтобы он правильно обрабатывал имена файлов с пробелами?

1 Ответ

15 голосов
/ 26 января 2011

Попробуйте поместить кавычки вокруг имени выходного файла.

Измените

FOR %%f in ("C:\files*.xml") DO 7za.exe a C:\files\zips\%%~nf.zip (%%f)

на:

FOR %%f in ("C:\files*.xml") DO 7za.exe a "C:\files\zips\%%~nf.zip" (%%f)

Может также быть переменной %% f, может потребоватьсяразместить цитаты вокруг этого.

...