コマンド別解説

comp(ファイルの比較)

>>compのオプション簡易解説へ

目次

 

compコマンドの使い方

「comp」コマンドは二つのファイルを文字単位で詳細に比較するために使います

例えば、以下の二つファイルを比較することを考えます。

【file_0.txt】
comp(ファイルの比較) file_0.txtの内容

【file_1.txt】
comp(ファイルの比較) file_1.txtの内容

この二つのファイルを比較するには、以下のコマンドを実行します。

 

以下は実行結果です。

comp(ファイルの比較) compコマンドによるファイル比較結果

ファイルの内容を一文字ずつ比較して相違点があれば、「LINE [行数] で比較エラーがあります」という警告の下に相違箇所が表示されます。この例だと、1行目の「rain」と「snow」、および二行目の「雨」と「雪」に違いがあることが分かります。

一文字ずつ比較するのが「comp」コマンドの特徴です。ファイル比較のための別のコマンドに「fc」コマンドがありますが、こちらはもっと大雑把に行単位でファイル同士を比較します。詳細は「fc(ファイルの比較) -コマンド別解説-」をご覧下さい。

「/a」オプションは、比較結果をアスキー形式(人間が読める文字形式)で表示するためのもので、大抵の場合はこのオプションは付けて実行します。

「/l」オプションは、相違箇所がある行数を表示するためのもので、「LINE [行数] で比較エラーがあります」と表示されたのはこのオプションを指定したからです。

 

表示の最終行では、

 「ほかのファイルを比較しますか(Y/N)?」

と聞かれますので、続けてファイルを比較したい場合は「Y」を入力して、二つの比較ファイルとオプションを入力すれば、比較を続けることができます(下図は「Y」を入力して比較を続けた例です)。

comp(ファイルの比較) ファイル比較を続けて行う

続けて、比較を行う必要がなければ「N」を入力します。

 

ファイルの比較したい行を制限する

比較するファイルがものすごく巨大な場合には、すべての行を比較すると時間がかかりすぎたり、相違箇所の表示が膨大になったりしてしまいます。

そんな場合には、「ファイルの上から何行目までを比較する」といった設定が可能です。「/n=[行番号]」オプションを使うと、先頭行から指定した行番号までの比較を行います。

 

以下のコマンドは前節で示した2つのファイルを比較した結果ですが、「/n=1」を追加して1行目まで(つまり1行目だけ)の比較を行っています。

以下の実行結果を見ると、2行目の相違点が表示されなくなっており1行目だけが比較されたことが分かります。

comp(ファイルの比較) /nオプションで指定した行までを比較する

 

「comp」コマンドと「fc」コマンドの違い

バッチコマンドには「comp」コマンドと、もう一つ「fc」コマンドというファイルの比較コマンドが用意されています。

「comp」コマンドは各行の一文字づつを細かく比較するのに対して、「fc」コマンドは「この行に違いがあります」といった行単位での大雑把な比較結果を出力します

 

以下の図は同じファイルを、それぞれ「comp」と「fc」コマンドを使って比較した結果です。

【「comp」コマンドによるファイルの比較】comp(ファイルの比較) compコマンドによるファイルの比較

 

【「fc」コマンドによるファイルの比較】comp(ファイルの比較) fcコマンドによるファイルの比較

通常ファイルの比較を行うときには何行目に違いがあるという情報だけで事足りる場合が多いため、個人的には「fc」コマンドを使ってファイルの比較を行う頻度が高いと思われます。

「fc」コマンドについての詳しい解説は「fc(ファイルの比較) -コマンド別解説-」を参照して下さい。

 

Windowsバッチファイル初心者へ向けた入門書を作成しました


Windowsバッチファイル初心者の方へ向けた入門書(PDF)を作成しました。


・初めてWindowsバッチファイルを勉強してみようと思っている方

・使ったことはあるが一から基礎を学び直したい方


へ向けて丁寧な解説を行っています。


「全くプログラムを知らない方でも、この入門書を読んだ後には、Windowsバッチファイルの中級者レベルになれるように」をコンセプトに執筆したものです。


この本を読めば、バッチファイルを使ったファイルやフォルダの操作に関しては一通りのことができるようになります。そうなればもう十分中級者と呼べるレベルですので、あとは自分のやりたいことを実現しようとする中で徐々に知識を蓄えていくだけですぐに上級者へなれるでしょう。


詳しくみる

関連ページ

コメントを残す