2009-11-14 21 views
8

私は比較する必要がある巨大なファイルが多数あるWindows(Vista、XP)上の2つのフォルダを比較したいと思います。私がBeyond Compareやそのようなツールを使ってフォルダを比較すると、手動で行うと時間がかかります。そのフォルダ比較をバッチファイルに追加する必要があります。コマンドライン経由のフォルダ比較

ように、Windows(XP、Vistaの場合)には、任意のコマンド(組み込み)または任意のサードパーティ製のツール/ユーティリティは、(商用またはフリーウェア - のいずれか)があり、コマンドラインを使用して2つのフォルダを比較します。

答えて

4

組み込みのコマンドCOMPがあります。あなたが実際に比較したいものに少し依存します。

2つのファイルまたは ファイルの内容を比較します。

COMP [DATA1] [DATA2] [/ D] [/ A] [/ L] [/ N =番号] [/ C]

DATA1は、最初のファイルの場所と 名(複数可)を指定し比較する。

DATA2は、比較する2番目のファイルの場所と 名(複数可)を指定します。

/Dは 小数点形式の違いを表示します。

/Aは、ASCII文字で 違いを表示します。

/差異の行番号を表示し L。

/N = number各 ファイルの最初の の指定された行数だけを比較します。ファイルを比較するとき

/Cは ASCII文字の場合は無視されます。

ファイルのセットを比較するには、data1およびdata2パラメータにワイルドカードを使用します。

folder2の内容とfolder1内のすべてのファイルを比較することCOMP c:\folder1 c:\folder2のような構文を使用します。サブディレクトリを再帰的に処理する必要がある場合は、FORループとPUSHDおよびPOPDコマンドを使用してバッチスクリプトを使用する必要があります。

助けが必要な場合は、コメントを残してください。

+0

この 'COMP'を2つのフォルダで再帰的に使用する方法。私はこの 'COMP C:\ folder1 \ * C:\ folder2 \ *'のようにしようとしましたが、これはすべてのファイルを返すわけではありません。 – Ramesh

+0

私はまた、再帰的に動作する必要があります。 – shinzou

10
> diff -r Folder_A Folder_B

ウィンドウ用にコンパイルされたGNU diffutilsがGnuWin32にあります。

diff -r dir1 dir2 

私も過去にMinGWを使用しました:

3

私はUnixのコマンドラインツールのCygwinのバージョンを使用しています。どちらにもいくつかの問題があるが、「十分に近い」。視覚的な差異については、WinMergeがかなり好きです。

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

最初の比較が行われた後でも問題は解決しますが、プロンプトの質問は削除できません。

+0

ECHO n | COMP - http://ss64.com/nt/comp.html –

-1

2つのディレクトリの構造は同じですが、ファイルのバージョンが少し変更されています。さらに、私のディレクトリは単にpythonファイルのフォルダでした。だから私は逃げました...

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

1)これはWindowsの質問です。2) 'diff -r'を使うことができ、' cat'は必要ありません。 – Carpetsmoker

関連する問題