Windows m/cのcmdプロンプトで2つのディレクトリを比較するにはどうすればよいですか? UNIXのdiff -rに相当するものが欲しい。
Cygwin をインストールすると、diff -r
Windowsの場合。
Windowsの comp コマンドは、探しているものです。
ここに例:
ディレクトリC:\ Reportsの内容をバックアップディレクトリ\\ Sales\Backup\Aprilと比較するには、次のように入力します。
comp c:\reports \\sales\backup\april
最も簡単な方法は、おそらくWindowsのdiffをダウンロードすることです: http://gnuwin32.sourceforge.net/packages/diffutils.htm
次のようなこともできます:
dir directory1 > dir1
dir directory2 > dir2
comp dir1 dir2
また、Windowsの一部のバージョンにはwindiff
が付属していますが、これはGUIツールです
Windowsにはfc
コマンドがあります。 diff
の方がはるかに優れていると思いますが、インストールに付属しているものだけを使用したい場合は、どうぞ。 :)
Gowをインストールし、Windowsコマンドプロンプトでdiffを実行できます。
Windowsに含まれるwindiff utilをNTバージョン以降で使用できます。 「windiff」を実行するだけで、グラフィックツールがポップアップします。
ファイル->ディレクトリの比較
http://msdn.Microsoft.com/en-us/library/aa266122(VS.60).aspx
この記事では、コマンドラインから使用する方法について説明します。このツールの大きな利点は、このツールがすでに含まれており、何もダウンロードしてインストールする必要がないことです。
部分的な解決策(したがって、残念ながら私は「非解決策」ですが、最初は期待していましたが)。
どうやら ROBOCOPYツールは、ちょっとした貧しい人の再帰的な比較として機能するために(ab-)を使用できるようです ;不幸な制限がありますが、明らかにはファイルの内容を比較しません。 サイズ、日付、オプションで属性を比較しているようです。これに対する魔法の呪文は次のとおりです。
ROBOCOPY path1 path2 /e /l /ns /njs /njh /ndl /fp /log:result.txt /it
/e
-空のディレクトリを含む再帰。/l
-ログのみを出力し、ファイルは変更しない;/ns /njs /njh
-ファイルサイズ、ジョブの概要、ジョブヘッダーを印刷しません。/ndl
-「フォルダ名をログに記録しない」/log:result.txt
-結果を「result.txt」ファイルに書き込みます。これは省略でき、結果は標準出力に表示されます。追加オプション:
/it
-属性も比較したい場合は、これを追加する必要があると思います-参照 「調整された」ファイルの説明 を参照してください。上で述べたように、これは残念ながらファイルの内容を比較していないようです。最初に次のコマンドを実行してこれを確認しました。
mkdir d1\a\b d2\a\b & echo x > d1\a\b\f & echo y > d2\a\b\f
ほとんどの場合、これは同じタイムスタンプのファイルd1\a\b\fとd2\a\b\fを生成します。dir d1\a\b\f d2\a\b\f
で確認できます。 d1とd2のrobocopy
呼び出しにより、空の結果セットが生成されました。
コマンドプロンプトでデータを比較するには、次のコマンドを使用できます。
COMP/a/l D:\ Folder1\data.txt D:\ Folder2\data.txt
検索する特定の行数や大文字と小文字を区別しない検索などのさまざまなオプションがあり、コマンドプロンプトでフォルダーを比較することもできます。 コマンドプロンプトでファイルとフォルダを比較する の他のオプションを次に示します。
Windows 10では、Linux Bash Shellを有効にすることでdiff
でbash
コマンドを実行できます