我可以对 Windows 下文件夹的内容进行哈希处理以检查其是否具有相同的内容吗?

我可以对 Windows 下文件夹的内容进行哈希处理以检查其是否具有相同的内容吗?

我想知道两个文件夹是否具有 1:1 相同的内容。这是因为我想验证我的文件夹的复制/备份是否一致。

我该怎么做?如何快速、准确地比较两个文件夹的内容?

答案1

您需要一个能够比较文件夹差异的工具。我认为 Windows 上最流行的工具是合并

如果你需要一些可以从命令行运行的东西,请参见这个答案

更新

一个更具体的答案是使用赛格威Unix 命令行工具的版本:

diff -r dir1 dir2

如果你想使用插件,可以尝试补偿

forfiles /P %folder1Path% /S /C "cmd /c comp /a @path %folder2Path%\@file"

但我警告你,它很乱。首先,COMP 只适用于单个文件夹,因此你必须自己处理递归(因此行很长)。其次,它会在第一次比较后提示。

更新 2

我不建议做这个因为它只会在某些情况下更快。在其他情况下它也会不正确。因为你确实要求更快的版本,所以你也可以只比较文件的 md5 校验和。你将使用 Cygwin 来实现这一点:

diff <(sort <(md5deep -r /directory/1/) |cut -f1 -d' ') <(sort <(md5deep -r /directory/2/) |cut -f1 -d' ')

不过,这样做的好处值得怀疑,因为无论如何它都会在主机上运行,​​所以我们不会节省带宽。它会增加 CPU 使用率。但是,如果你把它分解一下,你可以只在保存时为文件创建 md5,并且只在需要时执行 dif 部分。

相关内容