软件吧
登录注册账号
/posts/unzip-win-win10-i5-10400
电脑必备

为了对账部署包解压后文件数,我把三款工具的命令行全跑了一遍

码农小张 83 0 13

上周发版,部署包解压后要核对文件数,手动数不现实。我写了脚本用 unzip -l 列清单,结果发现 Win解压缩 命令行版输出格式和标准 unzip 不一样,解析直接挂了。干脆把手上常用的三款工具命令行都拉出来实测一遍。

测试环境:Win10 22H2 / i5-10400 / NVMe SSD,样本是 3.2GB 的部署包(内含 1.8 万个文件)和 800MB 的日志压缩包(2 万个文本文件)。

1. 7-Zip 24.09

  • 7z l 输出稳定,-slt 参数给机器解析用的,字段清晰
  • 解压 3.2GB 包耗时 42s,CPU 占用约 60%
  • 缺点:对小文件多的日志包,速度一般

2. Win解压缩 命令行版

  • 命令行参数少,只支持基础解压和列出,没有类似 -slt 的结构化输出
  • 解压同样 3.2GB 包耗时 35s,确实快一截
  • 但脚本里想拿到文件清单得自己正则抠,不同版本输出格式还有细微差别,维护成本高

3. Bandizip 命令行

  • bz x -l 输出还行,但文档少
  • 速度介于两者之间,约 38s

结论:日常手动解压,Win解压缩 速度优势明显;但写脚本做对账、自动化流水线,7-Zip 的命令行才是靠谱选择。 我现在是双持:桌面用 Win解压缩 图快,CI 脚本里固定用 7-Zip,版本号锁死 24.09。

另外提醒一句:日志压缩包如果是 gzip 单文件,别用图形工具拖,直接 gzip -d 更快,还能保留原文件时间戳。

你们做部署包文件数对账时,是解析工具输出还是直接算哈希?有没有更稳的清单方案?

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

社区回应

0 Replies

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

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