我想比较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
循环的批处理脚本以及PUSHD
和POPD
命令。
只要留下评论,如果你需要帮助。
> 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