Как использовать 7-zip для резервного копирования файлов, но исключить некоторые каталоги

Я хотел бы использовать 7-zip для резервного копирования каталога, но я бы хотел, чтобы он исключил все каталоги с именем «.svn» (в любом месте в исходном дереве). Кто-нибудь знает, возможно ли это, и в таком случае как?

6 Solutions collect form web for “Как использовать 7-zip для резервного копирования файлов, но исключить некоторые каталоги”

Чтобы исключить все каталоги .svn, вам нужно добавить -xr!?svn\*

Например, следующее создаст резервную копию каталога C:\Project\To\Backup исключая любые папки, которые удовлетворяют ?svn :

 "C:\Program Files\7-Zip\7z.exe" a -r -tzip -y -xr!?svn\* Project.zip C:\Project\To\Backup\* 

Вместо использования 7-Zip для исключения папок .svn (или потенциально _svn) я бы рекомендовал использовать команду экспорта svn (использовать svn.exe из SlikSVN ) для экспорта рабочей копии во временную папку:

 svn export C:\Path\To\WC C:\Backup\Staging 

Затем используйте 7-Zip следующим образом:

 7z.exe a "C:\Parth\To\Archive" "C:\Backup\Staging\*" -bd t7z -v2g -r 

Затем удалите промежуточную папку.

Это то, что я делаю, чтобы сделать резервную копию моих местных рабочих копий.

Вы можете исключить файлы с помощью 7zip, используя список файлов или каталогов:

 /path/to7Zip/7z a -bd f:/backup/backup_2009-08-23_daily.zip home \ '-xr@\path\to\backup_daily_exclude.lst' 

Файл exclude выглядит так:

 home\Photos\iPod* home\dhltd\* BlogMatrix\Sparks\db\*.archive home\eclipse\* .svn 

Ключ -xr и, в частности, «r», который указывает, что рекурсивно применять список исключений к каждому уровню каталога. Возможно, вы захотите использовать 2 списка исключаемых файлов для абсолютного и один для рекурсивных исключений. Вышеизложенное из сценария bash, который запускается в cygwin.

Когда я использовал

 "C:\Program Files\7-Zip\7z.exe" a -r -ttar -xr!?git\* aufs2-util.tar aufs2-util\* 

Это привело к добавлению каталога .git, который я не хотел, изменив его на

 "C:\Program Files\7-Zip\7z.exe" a -r -ttar -xr!?git\ aufs2-util.tar aufs2-util\* 

Получил желаемый результат.

Когда я использовал

 7z a "D:\codebase\w.7z" "D:\codebase\Edison\otm\Webapp" -t7z -mx0 -xr!WEB-INF\* 

Каталог WEB-INF не был исключен. Добавление звездочки перед именем dir

 7z a "D:\codebase\w.7z" "D:\codebase\Edison\otm\Webapp" -t7z -mx0 -xr!*WEB-INF\* 

Получил желаемый результат.

Для меня я пытался создать резервную копию каталогов кодов maven и хотел исключить любую директорию с именем «target»:

 "C:\Program Files\7-Zip\7z.exe" a -r -tzip -y -xr!*\target\* site.zip C:\code\site\ 

Соответствующим параметром исключения был -xr!*\target\* .

  • Можно ли выполнить файл после извлечения из архива самораспаковывающегося архива 7-Zip (SFX)?
  • Как предотвратить зашифрованные пароли zip-файлов 7-Zip от хранения на жестком диске?
  • Как сделать «Файлы для хранения без сжатия» в 7-zip?
  • Сделать 7-Zip извлечение архива непосредственно в каталог
  • Что делает комбинирование методов сжатия в 7z?
  • Извлечение и перезапись существующих файлов
  • Как собрать zip-файл, который был отправлен по электронной почте в нескольких частях?
  • Добавить в 7-Zip-архив: как исключить определенные типы файлов / расширения?
  • Коррумпированные файлы PNG после распаковки
  • Зашифрованные контейнеры сжатия, такие как ZIP и 7-Zip, сжимают или шифруют в первую очередь?
  • Как создать многопользовательский файл 7zip в Linux?
  • Давайте будем гением компьютера.