Я хотел бы использовать с 7 zip для резервного копирования каталога, но я хотел бы, чтобы он исключил все каталоги, названные ".svn" (где угодно в исходном дереве). Кто-либо знает, возможно ли это и в этом случае как?
Для исключения всех .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'
Исключить файл похож:
home\Photos\iPod*
home\dhltd\*
BlogMatrix\Sparks\db\*.archive
home\eclipse\*
.svn
Ключ является-xr и в особенности "r", который указывает, применяют исключить список рекурсивно, к каждому уровню каталога. Можно хотеть использовать 2, исключают списки файлов один для абсолюта и один для рекурсивных исключений. Вышеупомянутое из сценария удара, который работает в 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\*
Получил желаемый результат.