[ 通常表示 ]  [ 簡易表示 ]  [ シンプル表示 ]

「分かりそう」で「分からない」でも「分かった」気になれるIT用語辞典イメージぴよ画像「分かりそう」で「分からない」でも「分かった」気になれるIT用語辞典

comp【コマンド】

pointこの用語のポイント

pointWindowsで使えるコマンドだよ

pointファイルの内容をバイナリデータとして比較するよ

スポンサーリンク

簡単に書くよ

comp【コマンド】とは

2つのファイルの内容をバイナリデータとして比較するときに使うコマンド
です。

image piyo

詳しく書くよ

Windows系で使えます。

書き方は

comp [ファイル1] [ファイル2] [オプション]

です。

オプションはちらほらとあります。

オプション説明
/D違う部分を10進数で表示する
/A違う部分を文字で表示する
/L違う部分の行番号を表示する
/N=【行数】ファイルの先頭から【行数】分の行を比較対象とする
/C大文字・小文字を区別しない
/OFFオフライン属性のファイルも対象にする
/OFFLINEオフライン属性のファイルも対象にする

ですね。

「comp」コマンドは、ファイルをバイナリデータとして比較するときに使います。
テキストデータも比較できないことはないですが、使い勝手はよくありません。
テキストデータを比較したいときは「fc」コマンドを使ってください。

それでは「comp」コマンドの使い方を見てみましょう。

例えば以下のようなファイルがあったとします。

■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」コマンドの方が便利だと思いますよ。

image piyo2

一言でまとめるよ

まぁ「comp」ってコマンドが出てきたら「バイナリファイルの内容を比較するときに使うんだな~」と、お考えください。

一番上に戻るよ
スポンサーリンク