我想要压缩除一个文件以外的所有内容。
7z a -tzip files.zip *
这将压缩我当前目录中的所有文件..有没有办法告诉它不要压缩一个文件或一个文件类型?
-x[r[-|0]]]{@listfile|!wildcard}: eXclude filenames
为了排除文件foo.txt,您需要添加:
-x!foo.txt
要排除所有的 .html 文件(*.html),您需要添加:
-x!*.html
您可以在一个zip命令中添加多个-x条目,以排除多个文件名和/或通配符。 添加以下内容将排除foo.txt和*.html:
您可以在一个zip命令中添加多个-x条目,以排除多个文件名和/或通配符。添加以下内容将排除foo.txt和*.html:
-x!foo.txt -x!*.html
那么以您的示例为例,这将添加除“FILENAME”命名的文件或符合*.extension通配符的文件之外的所有文件到files.zip中:
7z a -tzip files.zip * -x!FILENAME -x!*.extension
如果您正在使用批处理脚本,请不要忘记转义!标记。
7z a -xr^^!*.xml "dest_dir.zip" "Source_dir"
要排除单个文件或通配符条目,命令行选项似乎不起作用。相反,将要排除的文件和通配符列在文本文件(..\xlist.txt)中,并在命令行中指定如下:
7z a -tzip files.zip * -xr@..\xlist.txt
使用相对路径指定xlist.txt。
xlist.txt itself if you dont want it
index*
*.js
*.tmp
etc...
-x!*.extension
不起作用(至少对于递归子目录而言)。-x!*extension
起作用。 - Samaursa"-xr!.git\"
和"-xr!.gitignore"
。请注意,如@ChrisKolenko所述,要使用双引号("
)。 - craig