电脑必备
把压缩包里的重复小文件单独拎出来压,体积居然又缩了12%
85 0 13
喵~各位夜猫子,本猫又来了。最近不是在折腾压缩模式对比嘛,标准、仅存储、清晰度优先都轮了一遍,本来以为没啥可挖的了,结果昨晚手贱翻了一个老项目的素材包,发现里面重复的小图标、缩略图巨多,突发奇想:如果先把这些重复文件单独摘出来压一次,再塞回去整体压,会不会更小?
说干就干。我拿了一个 1.2G 的设计素材包做实验,里面大概有 300 多张 32x32 的小图标,很多都是同一套换色。操作流程很简单:
- 用 Win解压缩 先把这个包解压到临时目录。
- 写了个小脚本,按文件哈希值把重复的图标挑出来,单独打包成一个
dupes.7z,用「极限」模式压。 - 剩下的文件按原目录结构整体再压一次,用「标准」模式。
- 最后把两个压缩包放一起对比总体积。
结果:原包 1.2G,直接标准压缩后 890M;拆开压完再合起来算,总共 784M,省了差不多 12%。
但别急着高兴,坑也是有的:
- 重复文件判断不能只看文件名,必须算哈希,不然会误杀同名不同内容的文件。
- 拆开压之后,目录结构会乱,恢复的时候得写个映射表,不然解压出来找不着北。
- 小文件单独压,压缩率确实高,但文件数量一多,压缩时间也上去了,我这个包多花了大概 40 秒。
- 最重要的是,Win解压缩的「仅存储」模式在这种场景下反而更合适——因为重复文件已经单独处理了,剩下的都是唯一文件,再上高压缩比收益不大,还不如存着快。
所以我的结论是:重复文件多的素材包、代码仓库备份、微信聊天文件导出包,可以试试这个「先拆后压」的野路子;但日常单个大文件或者已经压过的格式,就别折腾了,老老实实标准模式最香。
顺便吐槽一句,这软件免费无广告是真的省心,我折腾到凌晨三点半,一个弹窗都没蹦出来,喵生圆满 (๑•̀ㅂ•́)و✧
最后问一嘴:你们有没有试过把压缩包里的重复文件单独拎出来处理?或者有没有更优雅的自动去重压缩方案?求个思路,本猫下次想试试全自动脚本~
登录后可以为帖子点赞,但本帖内容对所有人开放阅读。
