入門講義2:2つのファイルを比較してみる

BASH,bat,バッチ

入門講義1ではバッチの作成方法と簡単なバッチファイルを作りました。今回から実際に役立つバッチファイルを作成していきます。

入門講義2では二つのファイルを比較し、異なる所をまとめる方法を紹介します。大量にある文字から人の目で違いを見つけ出すのは大変です。バッチファイルを使用すれば、時短になる便利なツールです。

比較するテキストファイルを用意する

まず比較するテキストファイルの2つのデータを作成します。

次にテキストファイルを比較するバッチファイルを作成します。

今節では、比較するテキストファイルを作成します。下記2のテキストファイルを作成します。

ex1.txt

私は千葉県出身です。
23歳男性で独身です。

ex2.txt

私は東京都出身です。
23歳男性で独身です。

文字コードを「ANSI」にするのは、忘れずに。文字コードの変え方が分からない人はこちらのリンクから確認してみてください。

このファイルは短いので、みてわかる通り下記の赤字の文字が相違点となります。

私は千葉県出身です。

23歳男性で独身です。

出身都県が違いますね。これをバッチファイルで比較して、結果を見ていきます。

テキストファイルを作る際は右クリックをして、新規作成から作ることができます。入門講義1でも紹介しているので分からない方はこちらから確認してみてください。

テキストファイルにコードを記載する

いよいよテキストファイルにコードを入力して、バッチファイルを作成します。

入門講義1でテキストファイルからデータを作成する方法を紹介したので、ここでは省略します。

テキストファイルを開き、下記のコードを記載します。

@echo off
fc ex1.txt ex2.txt
pause

バッチファイルを起動します。起動した結果がこちら。

二つのファイルを比較されました。先ほど比較したとおり、赤字部分が違いますので、その行の文章が表示されます。

私は千葉県出身です。

23歳男性で独身です。

オプションをつけてみる

オプションをつけて、表示方法を変えるやり方があります。オプションとは、コマンドの後につけるデータです。例えば、fcコマンドの後に/nをつけます。

@echo off
fc /n ex1.txt ex2.txt
pause

コマンドプロンプトの結果はこちら。行数が付け足されましたね。

fcコマンドのオプションは他にもいろいろあります。簡単ですが、下記表にまとめましたので、試しに色々試してみると面白いです。

オプション内容
/A相違する各部分の 1 行目と最後の行だけを表示します。
/Bバイナリの比較を実行します。
/C英字の大文字と小文字を区別しません。
/Lファイルを ASCII テキストとして比較します。
/LBn連続する最大不一致行を指定行数に設定します。
/NASCII の比較で行番号を表示します。
/OFF[オフライン属性が設定されたファイルをスキップしません。
/Tタブをスペースに変換しません。
/UUnicode テキスト ファイルとしてファイルを比較します。
/W連続した空白 (タブとスペース) を 1 つのスペースに圧縮して比較
/nnnn不一致発見後に確認する、一致すべき連続行数を指定します。

まとめ

これで入門講義2をまとめます。今回の講義でファイルを比較するコマンドfcを学び、コマンドにオプションがあることを学びました。

fcコマンドは2つのファイルを比較して、結果をコマンドプロンプトに表示します。

オプションはコマンドに足すことで、処理結果の表示を変化させます。

今回、fcコマンドの後のテキストファイル名をいちいち打ち込んでいました。ファイルを比較するときにいちいち打ち込んで、少し手間がかかりました。次節では引数と変数という技を学び、fcコマンドを使いやすくします。

コメント

タイトルとURLをコピーしました