这是我在这里的第一篇文章,感谢您的帮助!我有两个外部硬盘驱动器,HD #1 是 NTFS,HD #2 是 Mac OS Extended(我认为这与 HFS+ 相同)。我正在将许多文件从 #1 复制到 #2(文档、图片等)。我想验证所有项目是否都正确复制。
在 #1 (NTFS) 上,文件夹 A 报告此大小:8,137,638,456 字节(磁盘上 8.14 GB),共 2,721 个项目 在 #2 (HFS+) 上,文件夹 A' 报告此大小:8,137,677,392 字节(磁盘上 8.14 GB),共 2,721 个项目
如何验证所有内容均已正确复制?万花筒对此没有帮助,因为它只是显示文件夹不同,而没有指定如何不同。
Diff 仅报告这一点:A' 中的每个子文件夹都有 .DS_STORE :
diff -r "/Volumes/WD Passport/A" "/Volumes/My Passport/A'"
Only in A': .DS_Store
Only in A'/SUBFOLDER: .DS_Store
Only in A'/SUBFOLDER: .DS_Store
...
如何验证所有内容均已正确复制? NTFS 和 HFS+ 文件系统是否存在某些问题,导致从一个文件系统复制到另一个文件系统会导致文件的不同二进制表示形式?
答案1
您正在比较具有两个不同文件系统的两个不同操作系统上的目录大小。没有理由期望它们是相同的。
您真正的问题是如何验证驱动器 1 上的数据与驱动器 2 上的数据相同。我找到的用于完成此操作的最佳工具称为哈希深度。 12 年多以来,它一直是我完成文件完整性验证的首选工具。
Windows 二进制文件和源代码可用这里。
对于 MacOS X,如果您不想编译自己的副本,可以从 Fink 项目获取它。很抱歉没有发布链接,但我是新来的,没有必要的 10 点声誉来发布两个以上的链接。 Fink 可以在 www finkproject com 上找到
该工具的工作方式是,您从源创建文件哈希列表,然后使用生成的哈希来验证复制的文件是否匹配。这非常简单,但您应该能够通过 Google 找到一些操作方法和视频。