关于目录:比较同一文件的两个不同目录

Compare two different directories for same file

是否有任何工具可以比较相同命名文件的 2 个目录(具有不同的子目录)?

例如。 DirA 有子目录 DirA1,DirA1 有一个名为 file.cpp 的文件。

DirB 有 file.cpp.

Dira->DirA1->file.cpp 和 DirB->file.cpp。

所以,如果我将这 2 个目录与 BC 进行比较,BC 不会比较这 2 个文件。它会将它们标记为双方的孤儿。

我们可以编写任何 BC 脚本来比较这两个文件吗?

PS:我可以在两个文件夹中有 10-100 个文件进行比较。关键是如何让比较工具寻找匹配的文件名,而不考虑目录级别。

我希望我的问题在这里有意义。


Beyond Compare 3 在视图菜单中有一个选项(忽略文件夹结构),它完全符合您的要求。它遍历每个文件的所有子文件夹,并在单个级别中显示它们,文件根据名称对齐。如果碰巧有多个同名文件,它将优先对齐具有相同目录结构的文件。


没有编写脚本,这是实现这一目标的快速而肮脏的方法:

  • 创建两个临时目录 - FlatAFlatB
  • 将原始目录 DirADirB 压缩成单独的 zip 文件 - ArchiveA.zipArchiveB.zip
  • 将两个存档分别解压缩到 FlatAFlatB 中,不带路径。
  • 使用 BeyondCompare 比较 "flattened" 文件夹 FlatAFlatB