比较两个具有不同子目录名称和结构的文件夹中的文件

比较两个具有不同子目录名称和结构的文件夹中的文件

我随机复制并移动了一些图片到不同的文件夹以制作视频。我如何知道哪些文件被移动了以便将它们复制回源文件夹。问题是源文件夹和目标文件夹内都有不同的子目录结构,scootersoftware、totalcommander 等软件无法解决这个问题(或者我使用它们的方式不对?)。我只想要所有文件的名称及其位置,这些文件不存在于源文件夹中,但存在于目标文件夹中。

答案1

虽然是比较老的线程,但是可能仍然有用...

– 您本可以使用硬链接,同时在两个位置保存这些文件,而无需实际复制它们。LinkShellExtension 使这变得非常简单。

– 已复制的文件将具有不同的创建日期(更近);已移动的文件将保留其原始创建日期。因此,在这种情况下,根据创建日期搜索文件可能是一种解决方案。

– WinMerge2011(原始 WinMerge 的一个分支)有选项可以比较文件夹及其子文件夹,但忽略子文件夹的结构:只需单击“包含子文件夹”旁边的框一次即可“半检查”并启用该选项;再次单击将使其完全忽略子文件夹。我还没有测试过该功能,所以我无法评论它在这种情形下的效率或相关性。

– AllDupe 是一款重复文件查找器,现在包含仅显示非重复文件的选项,即在所分析的文件夹中唯一的文件。如果这些文件夹中有许多大文件,而您只想重新创建源文件夹的原始结构,为了加快处理速度,可以将其设置为按大小和/或名称和/或修改日期扫描两个文件夹,而不读取文件的内容(但仍然建议这样做,因为您永远不知道何时会发生损坏)。

答案2

WinMerge 或 DiffMerge 等第三方实用程序可以提供帮助。对于 CLI 解决方案,您可以使用内置的 Robocopy。

例如,以下命令行列出了两个父文件夹之间的差异(仅子目录,而不是文件),folder1folder2

robocopy "d:\folder1" "d:\folder2" /E /S /NFL /L

要将文件包含在比较报告中,请删除该/NFL标志。此外,请查看robocopy帮助以了解有关日志记录选项的更多信息。

相关内容