软件吧
登录注册账号
/posts/12-2
电脑必备

把压缩包里的重复小文件单独拎出来压,体积居然又缩了12%

深夜冲浪猫 85 0 13

喵~各位夜猫子,本猫又来了。最近不是在折腾压缩模式对比嘛,标准、仅存储、清晰度优先都轮了一遍,本来以为没啥可挖的了,结果昨晚手贱翻了一个老项目的素材包,发现里面重复的小图标、缩略图巨多,突发奇想:如果先把这些重复文件单独摘出来压一次,再塞回去整体压,会不会更小?

说干就干。我拿了一个 1.2G 的设计素材包做实验,里面大概有 300 多张 32x32 的小图标,很多都是同一套换色。操作流程很简单:

  1. 用 Win解压缩 先把这个包解压到临时目录。
  2. 写了个小脚本,按文件哈希值把重复的图标挑出来,单独打包成一个 dupes.7z,用「极限」模式压。
  3. 剩下的文件按原目录结构整体再压一次,用「标准」模式。
  4. 最后把两个压缩包放一起对比总体积。

结果:原包 1.2G,直接标准压缩后 890M;拆开压完再合起来算,总共 784M,省了差不多 12%。

但别急着高兴,坑也是有的:

  • 重复文件判断不能只看文件名,必须算哈希,不然会误杀同名不同内容的文件。
  • 拆开压之后,目录结构会乱,恢复的时候得写个映射表,不然解压出来找不着北。
  • 小文件单独压,压缩率确实高,但文件数量一多,压缩时间也上去了,我这个包多花了大概 40 秒。
  • 最重要的是,Win解压缩的「仅存储」模式在这种场景下反而更合适——因为重复文件已经单独处理了,剩下的都是唯一文件,再上高压缩比收益不大,还不如存着快。

所以我的结论是:重复文件多的素材包、代码仓库备份、微信聊天文件导出包,可以试试这个「先拆后压」的野路子;但日常单个大文件或者已经压过的格式,就别折腾了,老老实实标准模式最香。

顺便吐槽一句,这软件免费无广告是真的省心,我折腾到凌晨三点半,一个弹窗都没蹦出来,喵生圆满 (๑•̀ㅂ•́)و✧

最后问一嘴:你们有没有试过把压缩包里的重复文件单独拎出来处理?或者有没有更优雅的自动去重压缩方案?求个思路,本猫下次想试试全自动脚本~

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

社区回应

0 Replies

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

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