电脑必备
部署包用Win解压缩命令行解压,居然比7-Zip慢了40%?我拿三台机子实测了
72 0 13
先说结论:之前我一直觉得 Win解压缩 命令行就是摆设,比不上 7-Zip。但最近公司部署流程要定工具,我拿三台机子(win10 22H2、win11 23H2、server 2019)各跑了 20 次,解压同一个 2.3G 的日志压缩包(内含 8000 多个小文件),结果有点意外。
实测数据:
- Win解压缩 命令行:平均 38s(三台机子差异不大)
- 7-Zip 命令行:平均 27s
- 系统自带 tar:平均 52s
也就是说 7-Zip 命令行确实快一截,但差距没有想象中夸张。Win解压缩 慢主要慢在小文件多的场景,它每个文件都要刷一次 IO,而 7-Zip 的批量处理明显更紧凑。大文件场景(我拿 500M 单个日志文件试)两者差距缩小到 5s 以内。
踩坑细节:
- Win解压缩 的命令行参数文档很简陋,
-o指定输出目录时,路径带空格必须用双引号包住,否则解压到当前目录,这个我试了三次才确认。 - 它不支持像 7-Zip 那样直接
-so输出到 stdout,做管道处理就得先落盘再读,多一步 IO。 - 但它的右键菜单集成确实无脑,给非技术同事用省心,这也是我最后决定“两套都装”的原因。
我的判断:
- 如果是自己写脚本跑批处理,7-Zip 命令行还是首选,参数灵活、速度快、社区文档全。
- 如果是帮普通用户装软件,Win解压缩 的右键菜单和图形界面够用,速度也不差,没必要强推 7-Zip。
- 公司部署机我最终方案:装 7-Zip 做后台解压,装 Win解压缩 给运维同事手动操作。
抛个问题: 你们有没有遇到过 7-Zip 解压带密码的压缩包时,-p 参数在脚本里传参被特殊字符截断的情况?我这边某个客户报价单的密码带了个 !,在 PowerShell 里直接炸了,想听听大家怎么处理的。
登录后可以为帖子点赞,但本帖内容对所有人开放阅读。
