我想压缩除一个文件之外的所有内容
7z a -tzip files.zip *
这将压缩我当前目录中的所有文件。有没有办法告诉它不压缩一个文件或一种文件类型?
根据 7za 命令行帮助,您可以使用 -x 开关来执行此操作:
-x[r[-|0]]]{@listfile|!wildcard}: eXclude filenames
要排除文件 foo.txt,您需要添加:
-x!foo.txt
要排除所有 .html 文件 (*.html),您需要添加:
-x!*.html
您可以添加多个 -x 条目以在一个 zip 命令中排除多个文件名和/或通配符。添加以下内容将排除 foo.txt 和 *.html:
-x!foo.txt -x!*.html
因此,在您的示例中,这会将所有文件添加到 files.zip 中,除了名为“FILENAME”的文件或与 *.extension 通配符匹配的文件:
7z a -tzip files.zip * -x!FILENAME -x!*.extension
如果您使用批处理脚本,请不要忘记转义!标记。
7z a -xr^^!*.xml "dest_dir.zip" "Source_dir"
对于排除单个文件或通配符条目,命令行选项似乎不起作用。相反,在文本文件 (..\xlist.txt) 中列出要排除的文件和通配符,并在命令行中指定它,如下所示:
7z a -tzip 文件.zip * -xr@..\xlist.txt
使用相对路径指定xlist.txt。