Mik*_*erg 43 backup command-line 7-zip
我想使用 7-zip 来备份目录,但我希望它排除所有名为“.svn”的目录(源树中的任何位置)。有谁知道这是否可能,在这种情况下如何?
小智 35
要排除所有 .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\*
Run Code Online (Sandbox Code Playgroud)
Ric*_*ter 13
我建议使用svn export命令(使用 SlikSVN 中的svn.exe)将工作副本导出到临时文件夹,而不是使用 7-Zip 来排除 .svn(或潜在的_svn)文件夹:
svn export C:\Path\To\WC C:\Backup\Staging
Run Code Online (Sandbox Code Playgroud)
然后使用 7-Zip 如下:
7z.exe a "C:\Parth\To\Archive" "C:\Backup\Staging\*" -bd t7z -v2g -r
Run Code Online (Sandbox Code Playgroud)
然后删除暂存文件夹。
这就是我为备份本地工作副本所做的工作。
小智 12
您可以使用文件或目录列表排除带有 7zip 的文件:
/path/to7Zip/7z a -bd f:/backup/backup_2009-08-23_daily.zip home \
'-xr@\path\to\backup_daily_exclude.lst'
Run Code Online (Sandbox Code Playgroud)
排除文件如下所示:
home\Photos\iPod*
home\dhltd\*
BlogMatrix\Sparks\db\*.archive
home\eclipse\*
.svn
Run Code Online (Sandbox Code Playgroud)
关键是 -xr,特别是“r”,它表示将排除列表递归地应用于目录的每个级别。您可能希望使用 2 个排除文件列表,一个用于绝对排除,另一个用于递归排除。以上来自在 cygwin 中运行的 bash 脚本。
归档时间: |
|
查看次数: |
61755 次 |
最近记录: |