![使用命令行(在 CMD.exe 下)在 Windows 中进行文件夹比较](https://linux22.com/image/1222021/%E4%BD%BF%E7%94%A8%E5%91%BD%E4%BB%A4%E8%A1%8C%EF%BC%88%E5%9C%A8%20CMD.exe%20%E4%B8%8B%EF%BC%89%E5%9C%A8%20Windows%20%E4%B8%AD%E8%BF%9B%E8%A1%8C%E6%96%87%E4%BB%B6%E5%A4%B9%E6%AF%94%E8%BE%83.png)
我想比较 Windows(Vista、XP)上包含大量大文件的两个文件夹。如果我使用 Beyond Compare 或类似工具来比较文件夹,手动操作会花费大量时间。我需要将该文件夹比较命令添加到批处理文件中。
那么,在 Windows(XP、Vista)上是否有任何命令或在 CMD.EXE(商业或免费软件)下运行的任何第三方工具/实用程序来比较两个文件夹?
答案1
尝试使用 /mir(镜像)和 /L 标志的 robocopy。/L 指示它列出文件而不实际执行工作。
答案2
如果您只想使用内置工具快速获得是/否结果,请使用“comp”命令
这是一个老命令,它实际上只为单个文件而设计,但它运行良好 - 您需要运行它两次,因为它只会比较它能找到的文件:
这将比较 c:\temp\1 和 c:\temp\2 中的所有文件,然后反向比较:
comp c:\temp\1 c:\temp\2
comp c:\temp\2 c:\temp\1
如果文件位于一个位置而不位于另一个位置,您将看到:“无法打开文件:c:\temp\2\bla.txt”
如果文件不同,它会报告这种情况,例如“文件大小不同”。
如果一切检查无误,它会显示“文件比较正常”。
运行两次的原因是它只会检查和比较在第一个位置找到的第二个位置的文件,因此通过运行两次,您可以在两个位置搜索可能只在一个文件夹中的文件。
答案3
Beyond Compare 可以通过脚本执行;其命令行语法非常丰富。我认为 UI 中的每个功能并非都是通过命令行提供的,但我认为它肯定提供了您需要的所有功能。
答案4
BCompare.exe @bcscript.txt f:\file1.txt f:\file2.txt f:\file1and2compare.html
我编写了一个批处理脚本,其中我只根据需要更改了文件名 1、2 和输出文件名。
内容bcscript
如下:
text-report layout:side-by-side options:line-numbers &
output-to:"%3" &
output-options:html-color "%1" "%2"
欲了解更多信息,请查看博客文章。