
Я уже научился пакетно сжимать мои файлы как есть с помощью 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
в цикле.