软件吧
登录注册账号
/posts/win-7-zip-40
电脑必备

部署包用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 以内。

踩坑细节:

  1. Win解压缩 的命令行参数文档很简陋,-o 指定输出目录时,路径带空格必须用双引号包住,否则解压到当前目录,这个我试了三次才确认。
  2. 它不支持像 7-Zip 那样直接 -so 输出到 stdout,做管道处理就得先落盘再读,多一步 IO。
  3. 但它的右键菜单集成确实无脑,给非技术同事用省心,这也是我最后决定“两套都装”的原因。

我的判断:

  • 如果是自己写脚本跑批处理,7-Zip 命令行还是首选,参数灵活、速度快、社区文档全。
  • 如果是帮普通用户装软件,Win解压缩 的右键菜单和图形界面够用,速度也不差,没必要强推 7-Zip。
  • 公司部署机我最终方案:装 7-Zip 做后台解压,装 Win解压缩 给运维同事手动操作。

抛个问题: 你们有没有遇到过 7-Zip 解压带密码的压缩包时,-p 参数在脚本里传参被特殊字符截断的情况?我这边某个客户报价单的密码带了个 !,在 PowerShell 里直接炸了,想听听大家怎么处理的。

登录后可以为帖子点赞,但本帖内容对所有人开放阅读。

社区回应

0 Replies

还没有回应,抢一个沙发。

登录后可以回应和点赞,但本帖内容对所有人开放阅读。