Как рекурсивно архивировать каждый файл в каждой папке?

Я пытаюсь написать пакетный скрипт, который при запуске в папку берет все файлы в этой папке и упаковывает их в одну, затем берет остальные папки, просматривает их и делает то же самое, сохраняя файлы zip в каждой папке.,

Пример:

folder1
   file1.ext
   file2.ext
   folder2
      file3.ext
      file4.ext

должен стать

folder1
   file1.ext
   file2.ext
   folder1.zip containing file1.ext and file2.ext
   folder2
      file3.ext
      file4.ext
      folder2.zip containing file3.ext and file4.ext

2 ответа

WinRAR!

  1. Выбрать все папки
  2. Щелкните правой кнопкой мыши> Добавить в архив
  3. В настройках WinRAR перейдите на вкладку Файлы
  4. В нижнем разделе "Архив" выберите "Поместить каждый файл в отдельный архив".
  5. Хорошо.

Теперь каждая папка будет создана в новый архив RAR или Zip.

Если у вас есть опыт работы с UNIX, вы можете установить Cygwin и написать сценарий Bash, чтобы рекурсивно спускаться по каталогам, вызывая команду Cygwin zip или любую другую программу интерфейса командной строки zip.

Вы также можете установить Python, и сценарий для рекурсивного спуска еще проще. Каждый шаг может сделать вызов к программе почтового индекса CLI.

Возможно, вы можете использовать Powershell, но я не уверен, насколько легко можно использовать рекурсивный спуск.

Другие вопросы по тегам