Zip - добавьте файлы и папки, которые являются более новыми, удалите старые - PullRequest
0 голосов
/ 20 июля 2011

Я хочу сделать следующее на компьютере с Windows и Linux:

  • Сжать несколько папок в автоматическом процессе

  • Добавить новые файлыдля архивации удалите старые.

Я экспериментировал со скриптами .bat и .sh с использованием 7zip и столкнулся с некоторыми ограничениями (нелегко обновить / удалить из существующего архива, Linuxсначала нужны папки в формате .tar).

Я решил написать Java-приложение, которое будет принимать решения (архив устарел) и вызовет 7zip для сжатия файлов.

Я придерживаюсь следующего псевдокода:

Get modified date of archive
Get latest modified date of files within folder
If latest modified date is later that archive date
    Delete archive
    Create new archive

В иерархии папок будет несколько архивов, поэтому, если требуется обновить папку, это приведет к сокращению обработки.

Звук хороший?Или есть другой, более простой метод?

1 Ответ

0 голосов
/ 20 июля 2011

Я бы посоветовал вам использовать java.util.zip вместо 7zip, если вы действительно хотите сделать это на Java.

Лучшим решением может быть 7z -u, а затем поиграть с опциями.

http://sevenzip.sourceforge.jp/chm/cmdline/switches/update.htm

...