comp【コマンド】
コマンドだよ
Windowsで使えるよ
ファイルの内容をバイナリデータとして比較するよ
スポンサーリンク
簡単に書くよ
comp【コマンド】とは
コンピュータさんに対する命令文(コマンド)のひとつ
であり
2つのファイルの内容をバイナリデータとして比較するときに使うコマンド
です。
詳しく書くよ
「comp」コマンドは
ファイルをバイナリデータとして比較するときに使うコマンド
です。
Windows系で使えます。
実はテキストデータも比較できないことはないのですが、使い勝手がよくありません。
テキストデータを比較したいときは「fc」コマンドを使ってください。
書き方は
comp [ファイル1] [ファイル2] [オプション]
です。
オプションは、ちらほらとあります。
| オプション | 説明 |
|---|---|
| /D | 違う部分を10進数で表示する |
| /A | 違う部分を文字で表示する |
| /L | 違う部分の行番号を表示する |
| /N=【行数】 | ファイルの先頭から【行数】分の行を比較対象とする |
| /C | 大文字・小文字を区別しない |
| /OFF | オフライン属性のファイルも対象にする |
| /OFFLINE | オフライン属性のファイルも対象にする |
です。
例えば以下のようなファイルがあったとします。
■hoge.txt
123abc
123abc
123abc
123abc
■hoge2.txt
123abc
123abb
123abc
123abC
この2つのファイルに対して
comp hoge.txt hoge2.txt
を実行すると、以下のような結果になります。
hoge.txt と hoge2.txt を比較しています...
OFFSET D で比較エラーがあります
ファイル1 = 63
ファイル2 = 62
OFFSET 1D で比較エラーがあります
ファイル1 = 63
ファイル2 = 43
「OFFSET(オフセット)」は「位置」と読み替えてください。
この実行結果は「ファイルの『D』っていう位置に違いがあったよ。ファイル1では『63』だったけど、ファイル2では『62』だったよ。ファイルの『1D』っていう位置に違いがあったよ。ファイル1では『63』だったけど、ファイル2では『43』だったよ。」と言っています。
これが「comp」コマンドの一番単純な使い方です。
次にオプションを指定してみましょう。
「/D」オプションは違うところを10進数で表示するオプションです。
例えば
comp /D hoge.txt hoge2.txt
を実行すると、以下のような結果になります。
hoge.txt と hoge2.txt を比較しています...
OFFSET D で比較エラーがあります
ファイル1 = 99
ファイル2 = 98
OFFSET 1D で比較エラーがあります
ファイル1 = 99
ファイル2 = 67
さっきと、あまり変わりませんね。
次に「/A」オプションを指定してみます。
「/A」オプションは違うところを文字で表示してくれるオプションです。
例えば
comp /A hoge.txt hoge2.txt
を実行すると、以下のような結果になります。
hoge.txt と hoge2.txt を比較しています...
OFFSET D で比較エラーがあります
ファイル1 = c
ファイル2 = b
OFFSET 1D で比較エラーがあります
ファイル1 = c
ファイル2 = C
違う部分が文字で表示されていますね。
次に「/L」オプションを指定してみます。
「/L」オプションは違うところの行番号を表示してくれるオプションです。
例えば
comp /L hoge.txt hoge2.txt
を実行すると、以下のような結果になります。
hoge.txt と hoge2.txt を比較しています...
LINE 2 で比較エラーがあります
ファイル1 = 63
ファイル2 = 62
LINE 4 で比較エラーがあります
ファイル1 = 63
ファイル2 = 43
違う部分が行番号で表示されていますね。
さっきまで「OFFSET D」とかなっていた部分が「LINE 2」になりました。
次に「/N」オプションを指定してみます。
「/N」オプションは上から○行目までを比較するオプションです。
例えば
comp /N=1 hoge.txt hoge2.txt
を実行すると、以下のような結果になります。
hoge.txt と hoge2.txt を比較しています...
ファイルに違いはありません
1行目だけを比較しているので「うん、違いはないよ」と言っていますね。
hoge.txtとhoge2.txtの違いは2行目と4行目にあります。
最後に「/C」オプションを指定してみます。
「/C」オプションは大文字・小文字を区別しないオプションです。
例えば
comp /C hoge.txt hoge2.txt
を実行すると、以下のような結果になります。
hoge.txt と hoge2.txt を比較しています...
OFFSET D で比較エラーがあります
ファイル1 = 63
ファイル2 = 62
表示されたのは2行目の違いだけです。
4行目の違い「c」と「C」の違いは無視されましたね。
「comp」コマンドの使い方は、そんな感じです。
ちなみに全然別のファイル(ファイルサイズが違うファイル)を比較すると
ファイルのサイズが違います。
と表示されます。
細かい違いは教えてくれません。
そのため「comp」コマンドは、バイナリファイルとかのちょっとした違いを探すときに使います。
繰り返しになりますが、テキストファイルを比較するときは「fc」コマンドの方が便利だと思います。
一言でまとめるよ
まぁ「comp」ってコマンドが出てきたら「バイナリファイルの内容を比較するときに使うんだな~」と お考えください。






