7zip Пакетное сжатие для определенного расширения файла в разных папках

7zip Пакетное сжатие для определенного расширения файла в разных папках

Я уже научился пакетно сжимать мои файлы как есть с помощью 7zip, но мне нужно что-то более сложное по этой проблеме. Может быть, я смогу объяснить свои потребности с помощью этого сценария;

У меня есть резервная папка с моими чертежами и файлами моделей, и они находятся в подпапках своих клиентов, поэтому ее дерево папок выглядит примерно так:


Папка01\файл1.азбука, файл2.азбука, файл3.def, файл4.def

или

Папка02\Папка03\файл1.азбука, файл2.def


...и так далее.

Есть ли способ сжать каждый файл *.abc, кроме исходного файла, и в его исходном месте или аналогичное решение для подобной ситуации?

решение1

Попробуйте сохранить следующий пакетный файл в корне ваших папок и запустить его там:

@echo off
for /R %%f in (*.abc) do (7za a %%~pf%%~nf.zip %%f)

Это сообщает пакетному файлу, что необходимо рекурсивно ( /R) просмотреть папки на предмет наличия ( *.abc) файла и выполнить 7zaкоманду.

%%~pf— текущий путь в цикле, %%~nf— имя файла без расширения, поэтому я затем добавляю .zip. %%f— полный путь к текущему файлу *.abcв цикле.

Связанный контент