![7-Zip 命令行选项仅递归包含一种文件](https://linux22.com/image/1298184/7-Zip%20%E5%91%BD%E4%BB%A4%E8%A1%8C%E9%80%89%E9%A1%B9%E4%BB%85%E9%80%92%E5%BD%92%E5%8C%85%E5%90%AB%E4%B8%80%E7%A7%8D%E6%96%87%E4%BB%B6.png)
我想使用 7-Zip 添加给定路径下的任何 txt 文件。
查看帮助我尝试了这个:
7za a -ir!*.txt bla.7z c:\initial\path
这最终包括了每一个文件,无论是否是 txt 文件。
看着这个问题我尝试这样做:
7za a -ir!.\*.txt bla.7z c:\initial\path
这最终给我带来了这个尴尬的消息:
Error:
Duplicate filename:
c:\initial\path\CLI\0003\readme.txt
c:\initial\path\CLI\0003\readme.txt
有趣的是 -xr 选项对我来说很好用。例如,如果我尝试:
7za a -xr!*.txt bla.7z c:\initial\path
除 txt 之外的每个文件都包括在内。
答案1
尝试7z a bla.7z -r c:\initial\path\*.txt
除非您想包含多组通配符,否则无需使用-i
开关。在这种情况下,您需要-i
在同一命令行上对每组通配符使用多个开关。但这非常麻烦,不建议这样做。
最好将文件路径输出到列表文件中,并将路径列表输入到 7z。
答案2
出现这个错误的原因就在这里。马可
当需要包含文件路径前缀时。
不要使用D:/test/*
或./test/*
或-spa
。
尝试这个命令:
7z a test.7z -ir!"test/*.txt" -ir!"test/*.html"