文件夹比较通过命令行

我想比较Windows(Vista,XP)上的两个文件夹,它们有大量的大文件,我需要比较。 如果我使用超越比较或这样的工具来比较文件夹,如果我手动执行它是花了很多时间。 我需要将该文件夹比较添加到batch file。

所以在Windows(XP,Vista)上,是否有任何命令(内置)或任何第三方工具/实用程序(商业或免费软件)来比较使用命令行的两个文件夹。

有可以使用的内置命令COMP 。 这取决于你想要比较的东西。

比较两个文件或一组文件的内容。

COMP [data1] [data2] [/ D] [/ A] [/ L] [/ N = number] [/ C]

data1指定要比较的第一个文件的位置和名称。

data2指定要比较的第二个文件的位置和名称。

/ D显示十进制格式的差异。

/ A显示ASCII字符的差异。

/ L显示差异的行号。

/ N = number仅比较每个文件中第一个指定的行数。

/ C比较文件时忽略ASCII字母的大小写。

要比较一组文件,请在data1和data2参数中使用通配符。

使用类似COMP c:\folder1 c:\folder2的语法来比较folder1所有文件与folder2的内容。 如果需要递归到子目录中,则需要使用FOR循环的批处理脚本以及PUSHDPOPD命令。

只要留下评论,如果你需要帮助。

  > diff -r Folder_A Folder_B 

你可能会在GnuWin32中发现为Windows编译的GNU diffutils 。

我使用Cygwin的Unix命令行工具版本:

 diff -r dir1 dir2 

我以前也用过MinGW 。 两者都有一些问题,但“足够接近”。 对于视觉差异,我非常喜欢WinMerge 。

 forfiles /P %folder1Path% /S /C "cmd /c comp /a @path %folder2Path%\@file" 

将工作,但我不能在第一次比较后删除提示问题。

我的两个目录具有相同的结构,只是文件的一些版本更改。 此外,我的目录只是一个python文件的文件夹。 所以我离开了…

 $ cat dir1/*.py > file1.txt $ cat dir2/*.py > file2.txt $ diff file1 file2