Windowsコマンドプロンプトでdiffのようなファイル比較
Linuxのdiff
コマンドのようにWindowsでファイル比較できないかと調べていたら、comp
というコマンドがありました。
コマンド
comp [オプション] <ファイル1> <ファイル2>
使用例
@echo off rem 内容が同じファイルの比較 echo N | comp a.txt b.txt 2>nul echo 戻り値は「%ERRORLEVEL%」です echo. rem 内容が異なるファイルの比較 echo N | comp a.txt c.txt 2>nul echo 戻り値は「%ERRORLEVEL%」です
結果
a.txt と b.txt を比較しています... ファイルに違いはありません 戻り値は「0」です a.txt と c.txt を比較しています... ファイルのサイズが違います。 戻り値は「1」です
- compをそのまま使うと、
ほかのファイルを比較しますか (Y/N)?
と表示されてキー入力を求められます。対処として、echo N | comp <ファイル1> <ファイル2> 2>nul
とするとキー入力をスキップできます。 - ディレクトリを比較する場合は
comp <ディレクトリ1> <ディレクトリ2>
。再帰的に比較してくれます。