—
—
两个文件夹都在你的浏览器里读取。不上传任何内容,也不会改动任何一个文件夹。
关于这个文件夹比较工具
「备份到底有没有全部复制过去?」这个问题出人意料地难回答。两个文件夹在资源管理器里看着一样,大小也差不多,唯一确定的办法就是一个文件一个文件地核对。这个工具替你做这件事:选两个文件夹,它就会告诉你哪些只在其中一个里,以及哪些两边都有但已经不再相同。
文件按照相对于你所选文件夹的路径配对,所以用 D:\Projects\site 和 E:\Backup\site 对比时,css/app.css 会与 css/app.css 配上,无论两个绝对路径差别多大。
两个文件夹都在浏览器内部读取。不上传任何内容,两者都以只读方式打开,都不会被修改。
使用方法
- 选择文件夹 A,再选择文件夹 B。两个都加载完成后自动开始比较
- 选择比较依据 —— 仅比大小、大小和日期,或文件的实际内容
- 查看四个分类 —— 仅 B 中有、B 中缺失、已更改、完全相同
- 复制报告,或下载为 CSV
四类结果
- 仅 B 中有 —— B 里存在而 A 里没有的文件。可能是新做的东西,也可能是复制之后才加进去的
- B 中缺失 —— A 里有但从未进入 B 的文件。这一类对备份最要紧:出现在这里的东西都没有被复制过去
- 已更改 —— 两边路径相同,但文件已经不一样了。报告会并排显示两边的大小和日期,并说明是哪一项检查发现的
- 完全相同 —— 路径相同、文件相同。数量始终统计,但只有勾选后才会逐条列出,因为在真实的文件夹里这通常是最长的一类
选择比较依据
这个设置决定了你能在多大程度上相信结果。
- 仅比大小 —— 最快,而且完全不读取内容。长度不同的两个文件必定不同,所以大多数真实修改都能立刻发现。唯独恰好没有改变大小的修改会漏掉
- 大小和日期 —— 额外把修改时间不同的文件也算作更改。有用,但噪声大:复制文件常常会重置时间戳,于是一份完美的副本也会到处显示「已更改」
- 文件内容 —— 计算两份文件的 SHA-256 并比对。这是唯一确切的答案,也是唯一能告诉你「日期虽然不同但内容确实一致」的方式。它要读取两个文件夹的每一个字节,因此慢得多
一个好习惯是:先用仅比大小看清差异的轮廓,需要确证时再切换到文件内容。
其他选项
- 包含子文件夹 —— 不勾选只比较每个文件夹直接存放的文件;勾选则比较整棵目录树
- 忽略名称的大小写 —— Windows 把 Photo.JPG 和 photo.jpg 当作同一个文件,macOS 和 Linux 通常不会。当你拿 Windows 文件夹与在别的系统上做的副本对比时请勾选,否则同一个文件会同时出现在「新增」和「缺失」里
- 同时列出完全相同的文件 —— 让报告和 CSV 里也包含完整的相同文件清单
可以用来做什么
- 在清掉原件之前,确认备份确实全部复制到位
- 查看项目文件夹与上周的副本之间改了什么
- 检查文件同步是不是真的跑完了
- 发布之前对比网站或应用文件夹的两个版本
- 弄清同事在退回的共享文件夹里改了哪些东西
- 在跨盘移动或从旧硬盘恢复之后核验文件
浏览器读取文件夹的两种方式
Chrome、Edge 和 Opera 提供真正的文件夹选择器,这也是本工具设计时所依据的方式:直接遍历每个文件夹,内容比较也通过文件夹句柄读取字节。
Firefox 和 Safari 使用较旧的文件夹上传控件。浏览器一次性交出每棵树中的全部文件,比较方式相同,但空文件夹无法被看到(里面没有文件能证明它存在),而且两棵树都会先完整加载,然后才开始比较。
需要知道的
- 不上传任何内容。两个文件夹都留在你的机器上,全部比较都在页面内完成
- 两个文件夹都以只读方式打开。两边都不会创建、重命名、移动或删除任何东西
- 无法读取的文件(被锁定、正在使用,或位于受保护的系统文件夹中)会带上原因归入「已更改」,而不是被悄悄丢掉
- 内容比较会读取每一对同样大小文件的两份内容,因此在大型媒体文件夹上会比较慢。进度条会显示进展
- 每个文件夹以 200,000 项为上限,以免页面卡死
- CSV 带有字节顺序标记,中文和其他非拉丁文件名在 Excel 中也能正确显示