Folder Comparisons Via Command Line

后端 未结 6 657
我在风中等你
我在风中等你 2020-12-29 13:20

I want to compare two folders on Windows (Vista, XP) which have a large number of huge files, which I need to compare. If I use Beyond Compare or such tool to compare the fo

相关标签:
6条回答
  • 2020-12-29 13:49

    Basing on answer of Martin Tournoij I'v written next (and it working well):

    del a.txt
    forfiles /P %1 /M *.c* /S /C "cmd /c comp /a @path @file /M" >> a.txt
    forfiles /P %1 /M *.h /S /C "cmd /c comp /a @path @file /M" >> a.txt
    forfiles /P %1 /M *.s /S /C "cmd /c comp /a @path @file /M" >> a.txt
    

    It looks in subdirectories and don't ask any quiestions...

    0 讨论(0)
  • 2020-12-29 13:55

    There is the built in command COMP that you could use. It depends a little bit on what you actually want to compare.

    Compares the contents of two files or sets of files.

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

    data1 Specifies location and name(s) of first file(s) to compare.

    data2 Specifies location and name(s) of second files to compare.

    /D Displays differences in decimal format.

    /A Displays differences in ASCII characters.

    /L Displays line numbers for differences.

    /N=number Compares only the first specified number of lines in each file.

    /C Disregards case of ASCII letters when comparing files.

    To compare sets of files, use wildcards in data1 and data2 parameters.

    Use a syntax like COMP c:\folder1 c:\folder2 to compare all files in folder1 with the content of folder2. If you need to recurse into the subdirectories, you need to use a batch script using a FOR loop and the PUSHD and POPD command.

    Just leave a comment, if you need help with that.

    0 讨论(0)
  • 2020-12-29 13:57
    forfiles /P %folder1Path% /S /C "cmd /c comp /a @path %folder2Path%\@file"
    

    Will work, but I can't remove the prompt question after the first comparison is made.

    0 讨论(0)
  • 2020-12-29 13:57

    My two directories have the same structure, just a few version changes to the files. Furthermore, my directory was just a folder of python files. So i got away with...

    $ cat dir1/*.py > file1.txt 
    $ cat dir2/*.py > file2.txt
    $ diff file1 file2
    
    0 讨论(0)
  • 2020-12-29 14:02

    I use Cygwin's versions of the Unix command line tools:

    diff -r dir1 dir2
    

    I've also used MinGW in the past. Both have a few gotchas, but are "close enough." For visual diffs, I like WinMerge pretty well.

    0 讨论(0)
  • 2020-12-29 14:03
    >diff -r Folder_A Folder_B

    You may find GNU diffutils compiled for windows at GnuWin32.

    0 讨论(0)
提交回复
热议问题