如果你想要压缩所有 .py
和 .bin
文件,同时保留目录结构,可以使用以下 7z 命令行方法:
方法 1:直接指定多个扩展名
7z a -r output.7z *.py *.bin
*.py *.bin
会匹配所有.py
和.bin
文件-r
递归所有子目录
方法 2:使用 -i
选项(更灵活)
7z a -r output.7z -i!*.py -i!*.bin
-i!*.py
包含所有.py
文件-i!*.bin
包含所有.bin
文件
方法 3:排除其他文件(仅保留 .py
和 .bin
)
如果目录里有很多其他文件,可以排除不相关的文件:
7z a -r output.7z *.* -x!* -i!*.py -i!*.bin
*.*
匹配所有文件(但会被后面的-x!*
排除)-x!*
排除所有文件(然后-i!*.py -i!*.bin
重新包含目标文件)
方法 4:使用批处理脚本(适用于复杂情况)
如果你需要更精细的控制(比如只压缩某些目录下的文件),可以用 for /r
:
for /r %%i in (*.py *.bin) do (
7z a -r output.7z "%%i"
)
for /r
递归查找.py
和.bin
文件"%%i"
确保带空格的文件名也能正确处理
额外选项(可选)
-mx=9
(最高压缩率):
7z a -r -mx=9 output.7z *.py *.bin
-ssw
(压缩正在写入的文件,如日志):
7z a -r -ssw output.7z *.py *.bin
总结
✅ 最简单方式(推荐):
7z a -r output.7z *.py *.bin
✅ 更精确控制(排除其他文件):
7z a -r output.7z *.* -x!* -i!*.py -i!*.bin
这样就能只压缩 .py
和 .bin
文件,同时保持目录结构! 🚀