使用7zip命令行版本创建归档文件时,如何排除隐藏目录?
我尝试使用-x!".*"
,但没有效果。
使用7zip命令行版本创建归档文件时,如何排除隐藏目录?
我尝试使用-x!".*"
,但没有效果。
如果您想匹配子目录中的文件,您需要将r
("recurse")标志添加到-x
选项中。
例如,以下命令可以从folder/
目录树下的所有文件创建一个归档文件,但不包括任何以点开头的文件:
7z a -xr'!.*' archive.7z folder/
我在Windows 7 64位系统上使用7zip也遇到了同样的问题。
经过一些研究,我发现以下几点:
1)在Windows系统中,单引号/双引号' "无法正常工作 - 7zip会显示错误的通配符。
2)无法基于文件/文件夹属性进行排除 - 唯一的选择是使用通配符进行排除或创建一个排除列表。
3)在-x选项中,文件表示为<path>\<filename.ext>,文件夹表示为<path>\<folder>/(以斜杠结尾)。
4)格式1:使用!号(直接与命令一起使用的模式),可以给出以下内容:
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
我的首选方案是使用排除列表。7z a -xr!*\node_modules/ archive.7z d:\Workspace\my-project
命令并没有产生任何影响。 - hennzen这可以用于忽略隐藏文件... 7z.exe a -xr!.git\ -xr!*~ ".zip"
.git
隐藏文件夹,它起作用了! - undefined我在Win64系统上遇到了一个问题,需要使用排除文件。我无法将.git
文件夹排除在外。简单的“.git\”无效,其他常见模式也无效。最终采用了“*git\”来排除(注意:没有点号)。