这个年代硬盘价格跟着水涨船高,省着点用总归没坏处。
硬盘快满的时候,如果想把一个很大的压缩包解开,经常会出现一种死循环:压缩包不能删,解压出来的文件又没地方放。一个 180GB 的安装包,解压后没准要 200GB,最拥挤的时候,两者会同时挤占大约 380GB 的空间。
HatchZip 正是为了处理这个问题而生的。它是一个开源的解压软件,支持 Windows、macOS 和 Linux,提供桌面版和命令行版两种形态,可以处理 ZIP、RAR、7z、tar、.tar.gz 等常见格式,分卷压缩包也不在话下。
关键点并不在于解压算法更省空间,而是空间释放的顺序变了。
普通解压工具的做法,是先把所有文件完整写出来,之后再让用户手动删除压缩包。HatchZip 则从归档尾部开始工作:文件先写入硬盘并保存稳妥之后,才会把压缩包对应部分截掉,释放出来的空间接着给下一个文件用。

ZIP、tar 通常以单个文件作为处理单元,而 7z 的单元是 solid block。因此能不能做到“边解压边瘦身”,还得看压缩包内部的结构。假如一个 7z 文件只有一个巨大的数据块,并且这个块占满了整个归档,那它仍然需要整体占用空间。遇到这种情况,HatchZip 会在开始之前直接拒绝执行,而不是解压到一半才告诉你硬盘不够用。
安全问题是这套方案的核心考量之一。因为原始归档会被逐渐消耗掉,所以 HatchZip 必须确保文件真正落到硬盘之后,才会删除对应的归档字节。官方设计流程大致是这样的:一批文件先写入临时文件,接着校验、重命名、刷盘、更新 journal,最后才截短归档。如果中途中断,下次执行相同命令时,可以借助 .hatchzip 和 .hatchzip-tail 从断点继续。
如果压缩包下载不易、不方便重新获取,可以加上 --verify-first 参数,让程序先读取整个归档并验证校验和,再开始删除任何内容。虽然速度会慢一些,但对于重要文件或者来源不太稳定的压缩包来说,这点代价是值得的。
桌面版用起来很直接:安装之后右击压缩包,选择“HatchZip”,再点“Extract here”。在 Windows 11 里,入口藏在“显示更多选项”下面。软件会先展示空间规划;如果硬盘容量充足,也可以选择保留原始压缩包,此时归档不会被修改。

命令行用户可以先做一次无副作用的检查:
hatchzip check game.zip
确认方案没问题之后,再执行真正解压:
hatchzip extract game.zip
如果没有特别指定参数,默认会保留 2GB 的磁盘余量,避免硬盘被彻底吃光。当输出目录里已经存在同名文件时,需要用 --replace 来覆盖;原文件会先移到 .hatchzip-replaced,等流程全部完成后再删除。
HatchZip 的价值不在于取代所有解压工具。硬盘空间充裕的时候,普通工具完全够用。它真正填补的,是那种“大文件已经下载完了,却没有额外空间解压”的尴尬空白。
有一点需要留意:目前 Windows 和 macOS 的安装包还没有数字签名。官方说明 Windows 上可能会弹出 SmartScreen 提示,macOS 则需要在“隐私与安全性”中手动放行。下载时应只通过项目 Release 页面或 hatchzip.dev 获取。
随着游戏、模型和数据集体积不断膨胀,重新安排解压顺序,比反复清理几十 GB 的临时文件要有意义得多。HatchZip 解决的,正是大文件时代里一个非常具体的麻烦。
项目地址: https://github.com/xevrion/hatchzip
|