如何在使用7zip的命令行版本创建存档时排除隐藏目录?
我尝试了-x!".*"
,但这没效果。
答案 0 :(得分:10)
如果您希望它与子目录中的文件匹配,则需要将r
(“recurse”)标志添加到-x
选项。
例如,以下内容从folder/
下的整个目录树创建归档,但以点开头的任何文件除外:
7z a -xr'!.*' archive.7z folder/
答案 1 :(得分:8)
我在Windows 7 64bit 7zip上遇到了同样的问题。
经过一些研究后,我发现了以下几点:
1)单/双引号' "在Windows上不起作用 - 7zip说错误的wirdcard
2)不能基于文件/文件夹属性排除 - 只有选项可以使用通配符排除或制作排除列表。
3)在-x选项中,文件表示为<路径> \< FILENAME.EXT>和一个文件夹<路径> \<文件夹> /(末尾有斜线)
4)格式1:用! mark(直接用命令模式)你可以给出类似的东西:
a) 7z a -xr!<path>\<folder to exclude>/ archive.7z <zip folder>/
这会从zip文件夹递归地排除任何路径中的.svn文件夹
b) 7z a -xr!*\.svn/ archive.7z <folder>/
5)格式2:使用@符号,您可以像这样给出排除列表:
a) 7z a -xr@<7z exclude list file> <archive name>.7z <folder>/
排除列表文件可以包含:
*\.svn/
*\output/
*\Document/
*\Measurements/
*.xlsx
*.bak
我最喜欢的选项是使用排除列表
答案 2 :(得分:0)
这将适用于忽略隐藏文件... 7z.exe一个-xr!.git \ -xr!*〜“ .zip”
答案 3 :(得分:0)
我在Win64和排除文件上有问题。我无法排除.git
文件夹。简单的“ .git \”不起作用,也没有其他常用的模式。最后,排除“ * git \”有效(注意:没有点)。