如何在Windows Cmd提示符中执行UNIX的"diff -r"?

26 windows cmd

如何比较Windows m/c的cmd提示符下的两个目录?我想要等同于UNIX的diff -r.

Ric*_*dle 19

安装Cygwin,您可以diff -r在Windows上使用.

  • 为什么我要等到现在才安装Cygwin?谢谢! (5认同)

vic*_*ugo 14

Windows 的comp命令是您正在寻找的.

这里的例子如下:

要将目录C:\ Reports的内容与备份目录\\ Sales\Backup\April进行比较,请键入:

comp c:\reports \\sales\backup\april 
Run Code Online (Sandbox Code Playgroud)

  • :/在我看来`comp`不是真的递归?我试过:`mkdir foo1\bar\baz foo2\bar\baz&echo x> foo1\bar\baz\boo&echo y> foo2\bar\baz\boo&comp foo1 foo2`,只有一些愚蠢的错误: `找不到/打开文件:foo1\*.*` (5认同)
  • 请注意,Windows"comp"与"diff"完全不同.Comp仅告诉您文件中不同位的位置,但不执行文件的整个逐行比较.有一个`/ a`开关用于逐个字符比较,但同样它只给你一行中第一个不同的字符.我被推荐使用[比较和合并](http://compareandmerge.com/buynow.html)但是40美元它是陡峭的.另一张海报提到了GNU diff for Windows,但由于缺少DLL,我无法让它在Windows XP SP3上运行.请注意,我使用的是提供的二进制文件. (3认同)

car*_*ett 8

最简单的方法可能是为Windows下载diff:http://gnuwin32.sourceforge.net/packages/diffutils.htm
你也可以这样做:

dir directory1 > dir1
dir directory2 > dir2
comp dir1 dir2
Run Code Online (Sandbox Code Playgroud)

此外,某些版本的Windows自带windiff,但这是一个GUI工具