重复文件查找器

拖入一批文件,本页面会找出其中内容字节完全相同的文件,分三步进行:大小过滤(大小不同的文件不可能是重复的)、对幸存者的 SHA-256 分组,以及作为保险的最终完整字节比对。你会得到每个重复簇及其浪费的空间、可勾选要删除副本的复选框,以及一份可带去文件管理器的 CSV 清单。两个都叫 photo.jpg 但字节不同的文件不是重复文件;两个名字不同但字节相同的文件才是。任何内容都不会上传。
把文件拖到这里,或点击选择文件
最多 50 个文件,每个最大 200 MB。文件始终留在这台机器上。
尚未选择文件。
扫描完成后,完全相同的文件簇会显示在这里。每簇的第一个文件默认被标记为要保留的副本。
浏览器页面无法删除你的文件——也不应该。你导出的清单(文件名、大小、SHA-256、簇编号)是给资源管理器、Finder 或你惯用的文件管理器使用的,在那里删除操作可见且可撤销。隐私:整个扫描都在本地运行;任何文件或摘要都不会离开这个标签页。

什么是重复文件?

真正的重复文件是每一个字节都与另一个文件相同的文件。不是“同名”(两台相机拍出的 copy.jpg 是不同的照片),不是“同大小”(有一百万个文件都是 1,024 字节),也不是“看起来一样”(重新保存的 JPEG 是不同的字节流)。只有内容相同才算数——这也是扫描对改名副本、改日期副本和散落在不同文件夹的文件免疫的原因。

三个步骤如何工作

步骤比较什么开销为什么
1 — 大小文件字节大小瞬时(元数据)大小不同绝不可能相同;通常无需读取就能排除大多数文件
2 — SHA-256完整内容摘要每个幸存者读取一次不同内容产生相同摘要在计算上不可行
3 — 字节实际字节每对多读一次保险:完全不依赖哈希即可证明相同

大小预过滤不是为了好看——正是它让内容比较变得可行。一个有 5,000 张照片的文件夹可能只包含 50 个簇,但真正进入哈希阶段的只有几百个文件。

它刻意不做什么

不找近似重复:同一张照片的两个分辨率或两个质量级别是不同的字节,不会被标记——那需要感知图像哈希,是另一个工具。不删除:网页删除你磁盘上的文件将是安全漏洞而非功能;你得到的是清单。不上云:什么都不上传,这也意味着在你的文件被读取之前什么都不可能被扫描。

常见问题

为什么第一个文件被标记为“保留”?——簇中必须有一个文件幸存;按选择顺序取第一个是最确定、最无趣的选择。导出清单前可以改任何复选框。
“浪费空间”是什么?——每簇中第一个之外的每个副本的大小总和:删掉多余副本能拿回的字节数。
SHA-256 会出错吗?——实际上不会:碰撞需要刻意构造的文件对,且从未在 SHA-256 上发生过。第 3 步连这点理论疑虑也消除了。