我想知道两个文件夹是否具有 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 部分。