如何做到“差异-r” UNIX的在Windows命令提示符?(How to do “diff -r”

2019-06-23 12:56发布

如何在Windows M / C的命令提示符比较两个目录? 我想UNIX的差异-r的等价物。

Answer 1:

安装Cygwin的 ,你可以使用diff -r在Windows上。



Answer 2:

该补偿的Windows命令是你在找什么。

这里的例子:

到目录C的含量比较:\与备份目录\\销售\备份\四月,类型报告:

comp c:\reports \\sales\backup\april 


Answer 3:

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

dir directory1 > dir1
dir directory2 > dir2
comp dir1 dir2

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



Answer 4:

在Windows中存在的fc命令。 我认为diff是更好的方式,但如果你想使用的安装只什么来,好了,在这里你去! :)



Answer 5:

您可以安装牌九,并可以运行在Windows命令提示符差异。



Answer 6:

您可以使用WinDiff的UTIL从NT及以上版本包含在Windows。 只要运行“WinDiff的”和一个图形工具,将弹出。

文件 - >比较目录

http://msdn.microsoft.com/en-us/library/aa266122(VS.60).aspx

本文介绍如何在命令行中使用它。 这个工具的大好处是,它已经被包括在内,你不需要下载和安装任何东西。



Answer 7:

为了比较带命令行提示,您可以使用数据

COMP / A / L d:\ Folder1中\ data.txt中d:\ FOLDER2 \ data.txt中

可以有像线搜索和不区分大小写的具体数目不同的选项,甚至你可以比较带命令提示符的文件夹。 下面是其他选项比较文件和文件夹的命令提示符 。



Answer 8:

与ROBOCOPY部分解决方案

的部分解决方案(因此对我来说不幸的是,“无解”,虽然我已经为它最初被寄予​​厚望),这可能会或可能不会给你足够的:

看来ROBOCOPY工具可以(AB-)用作有点穷人的递归比较工作 ; 与不幸的局限,它显然不比较文件内容 。 这似乎比较大小,日期和可选属性 。 神奇的咒语,这将是:

ROBOCOPY path1 path2 /e /l /ns /njs /njh /ndl /fp /log:result.txt /it

其中选项 的意义似乎是:

  • /e -递归,包括空目录;
  • /l - 仅打印日志,不修改文件;
  • /ns /njs /njh -不打印文件的大小,工作总结,工作头;
  • /ndl - “不记录文件夹名称”
    • 注:据报道,这将导致跳过缺失/多余的空迪尔斯的案件; 如果你不使用它,那些应该得到记录,但你必须以某种方式除去通过其他方式无不同迪尔斯;
  • /log:result.txt -将结果写到“的Result.txt”文件; 我认为这是可以省略的结果将在标准输出上显示即可。

其他选项:

  • /it -我想,如果你想得比较属性本应加-看到什么“扭捏”文件的解释 。

警告:不比较文件内容

正如我前面所说,这似乎不是比较文件的内容,很遗憾。 我验证了这一点,首先运行以下命令:

mkdir d1\a\b d2\a\b & echo x > d1\a\b\f & echo y > d2\a\b\f

在大多数情况下,这应该产生的文件D1 \ A \ B \ f和D2 \具有相同的时间戳A \ B \男,你可以验证dir d1\a\b\f d2\a\b\f 。 该robocopy在D1&D2调用生成一个空的结果,我设定。



Answer 9:

在Windows 10,你可以运行diff命令bash通过激活Linux的Bash shell



文章来源: How to do “diff -r” of UNIX in Windows Cmd Prompt?
标签: windows cmd