代码之家  ›  专栏  ›  技术社区  ›  goldenmean

通过命令行进行文件夹比较

  •  9
  • goldenmean  · 技术社区  · 15 年前

    我想比较一下Windows(Vista,XP)上的两个文件夹,它们有大量的大文件,我需要比较一下。如果我使用beyond compare或类似的工具来比较文件夹,那么手工操作会花费很多时间。我需要将该文件夹比较添加到批处理文件中。

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

    5 回复  |  直到 8 年前
        1
  •  6
  •   Frank Bollack    15 年前

    有内置命令 COMP 你可以用的。这取决于你到底想比较什么。

    比较两个文件的内容或 文件集。

    组件[data1][data2]/d]/a]/l] [/N=数字][/C]

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

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

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

    /A显示器 ASCII字符的差异。

    /我 显示差异的行号。

    /n=数字只比较第一个 每行的指定行数 文件。

    /C不考虑 比较文件时使用的ASCII字母。

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

    使用类似的语法 COMP c:\folder1 c:\folder2 比较中的所有文件 folder1 内容为 folder2 . 如果需要递归到子目录中,则需要使用 FOR 循环和 PUSHD POPD 命令。

    如果你需要帮助的话,请留言。

        2
  •  12
  •   ephemient    15 年前
    >diff -r Folder_A Folder_B

    您可以在以下位置找到为Windows编译的gnu diffutils GnuWin32 .

        3
  •  3
  •   Michael Brewer-Davis    15 年前

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

    diff -r dir1 dir2
    

    我也用过 MinGW 在过去。两者都有一些优点,但“足够接近”。对于视觉差异,我喜欢 WinMerge 很好。

        4
  •  2
  •   Martin Tournoij ravi.zombie    8 年前
    forfiles /P %folder1Path% /S /C "cmd /c comp /a @path %folder2Path%\@file"
    

    可以,但在进行第一次比较后,我无法删除提示问题。

        5
  •  -1
  •   Martin Tournoij ravi.zombie    8 年前

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

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