Пакетная архивация через подкаталоги - PullRequest
0 голосов
/ 01 марта 2012

У меня есть тысячи файловых пар, которые мне нужны в архивах. В настоящее время каждая пара файлов (* .mp3 & * .cdg) имеет одинаковое имя (кроме расширения). Каждая из пар файлов находится в подкаталогах внутри основного каталога. Я хочу оставить каждый архив в том же подкаталоге, где уже была пара файлов. В настоящее время я использую следующую команду cmd, но она создает архивы в первичном каталоге, а затем «не может найти» ни * .mp3, ни * .cdg.

FOR /r %F IN (*.mp3) DO "C:\Program Files\7-Zip\7Z.exe" a "%~nF.zip" "%~nF.mp3" "%~nF.cdg"

Что мне нужно изменить, чтобы оставить каждый архив в подкаталоге исходного файла, не создавая более 140 пакетных файлов для каждого подкаталога?

1 Ответ

1 голос
/ 01 марта 2012

Вам необходимо включить модификаторы информации о пути: d = диск, p = путь, а для mp3 f = полный путь

FOR /r %F IN (*.mp3) DO "C:\Program Files\7-Zip\7Z.exe" a "%~dpnF.zip" "%~fF" "%~dpnF.cdg"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...