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

拿Win解压缩和7-Zip压同一批部署包,命令行这块我认栽了

码农小张 86 0 13

先说结论:Win解压缩解压速度确实快,但命令行支持不如7-Zip,日常点鼠标的人用它没问题,像我这种要靠脚本批量处理部署包和日志的,最后还是得把7-Zip当主力。

背景是上周要发一个版本,部署包里有300多个文件、大小1.2G,另外还有一坨按天切的日志(每天一个压缩包,一共14个)。我拿两台机器(一台i5-12400、一台老i7-7700)各跑三遍,用的都是最新版:Win解压缩版本号我记的是6.2,7-Zip是24.08。

实测数据(取三次中间值):

  • 解压同一批日志包:Win解压缩平均18秒,7-Zip 23秒,这块Win确实快一截
  • 压缩1.2G部署包(标准压缩):Win解压缩 2分40秒,7-Zip 3分10秒
  • 但一上命令行就露馅了

具体差别:

  1. Win解压缩没有原生命令行工具,我翻遍安装目录只找到个GUI主程序,想写批处理只能靠模拟点击,这玩意在CI里根本没法用
  2. 7-Zip的7z.exe直接支持 -mx=5、-mhe=on、-x!*.log 这种参数,我写一行就能把日志排除掉再打包
  3. Win解压缩的“解压到指定目录”在GUI里操作没问题,但批量处理14个包就得手动点14次,7-Zip一个for循环搞定

我的实际方案是:日常手动解压用Win解压缩,快就是快;但凡是进脚本、进自动化流程的,一律7-Zip。上个月还踩过一个坑,用某打包工具默认跳过了空目录,结果部署包缺了俩空文件夹,服务起不来。后来加了个预检:打包前先扫一遍目录,空目录单独打标记,再核对文件数。这个预检现在是我脚本里的固定步骤。

所以我的判断是:普通用户图省事、只解不解的,Win解压缩够用;但凡要写批处理、要集成到部署流程里的,别跟命令行较劲,直接7-Zip。

想问下各位:你们在Windows上做批量压缩/解压,有没有试过PowerShell调Win解压缩的COM接口?我查了半天没找到稳定方案,想看看有没有人踩过这条路。

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

社区回应

0 Replies

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

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