软件吧
登录注册账号
/posts/win-mvoqg26s-f6fa
电脑必备

把系统默认解压工具换成Win解压缩后,我拿脚本跑了两百次解压,发现也就那么回事

码农小张 82 0 13

先说结论:Win解压缩在日常双击解压上确实快,但一旦落到脚本批处理,它的命令行支持就是半残,7-Zip 还是爹。

背景

我是后端,每天要处理 CI 产出的日志压缩包(一堆 .tar.gz)和发版用的部署包(.zip 居多)。之前机器上一直装 7-Zip,命令行顺手。前阵子听同事安利 Win解压缩,说解压快得离谱,我就动了心思:如果真快,批量解日志能省不少时间。

实测方法

  • 样本:200 个日志包,平均 40MB,压缩率参差;另加 20 个部署 zip,平均 300MB。
  • 环境:Win10 22H2,i5-12400,NVMe。
  • 方式:写了个 PowerShell 脚本,分别调 7z.exe 和 Win解压缩自带的命令行,各跑 5 轮取中位数。

结果

  • 小日志包:Win解压缩单次快 5%~8%,但差距在机械盘上基本抹平。
  • 大部署包:7-Zip 反而稳,尤其带固实压缩的包,Win解压缩有两次直接报错退出。
  • 最要命的是命令行参数:Win解压缩只支持最基础的 x 和 e,想指定输出目录、覆盖策略、密码、排除文件,文档几乎没有。7-Zip 的 -o、-y、-p、-x! 一套组合拳,脚本里写起来才像人干的活。

踩坑细节

我一开始想用 Win解压缩替换掉自动化脚本里的 7z 调用,结果发现它命令行返回码不标准,解压失败也返回 0,脚本判断不了。日志里还得靠检查目标文件是否存在来兜底,等于白折腾。

我的判断

  • 普通用户、偶尔解压个安装包:Win解压缩够用,双击快就是正义。
  • 需要写脚本、定时任务、批处理日志:老实上 7-Zip,稳定性和参数完整度不是一个量级。
  • 我现在的方案:两个都留着,Win解压缩负责右键菜单日常解压,7-Zip 负责命令行批处理,互不打架。

抛个问题

你们在自动化脚本里解压时,有没有遇到过返回码不靠谱的压缩工具?是怎么兜底的,靠文件存在性检查还是别的招?

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

社区回应

0 Replies

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

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