电脑必备
把系统默认解压工具换成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 负责命令行批处理,互不打架。
抛个问题
你们在自动化脚本里解压时,有没有遇到过返回码不靠谱的压缩工具?是怎么兜底的,靠文件存在性检查还是别的招?
登录后可以为帖子点赞,但本帖内容对所有人开放阅读。
