前章の続きです。前章で作ったファイル比較バッチを使いやすくしていきましょう。
今のままでは、新しくファイルを比較したいときは、バッチファイルを開いて比較する2つのファイルを書き換えなければいけません。しかしそれでは、面倒です。
そこで今回は、バッチファイルの中身は変更せずに、次々と比較していけるように改良していきましょう。
その他の関連しそうな記事
プレースホルダーを使おう
ここで重要となる知識が、「プレースホルダー」です。プレースホルダーを使えば、毎回バッチファイルのプログラムを書き換える必要がなくなります。
第2章で作業していたフォルダ「第2章」をコピーして、「第3章」というフォルダを作って下さい。そして、「file_compare.bat」を以下のように編集します。
1 |
fc /n %1 %2 |
ファイル名を指定していた部分が、「%1」と「%2」になりました。ついでにバッチファイルの名前も「file_compare_2.bat」と変更します。
この「%1」と「%2」がプレースホルダ―と呼ばれるもので、「ここに入れる文字は、後から決めます」という役割を持っています。こうしておくと、バッチファイルの実行時にこの部分に自分の入れたいファイル名を自由に決めることができます。
では、実行してみましょう。「コマンドプロンプト」を開いて以下のコマンドを入力して実行して下さい。
1 |
file_compare_2.bat file1.txt file2.txt |
前章と同様の結果が得られたと思います。
バッチファイル名の後にスペース区切りで指定している二つのファイル(「file1.txt」と「file2.txt」)が「引数」と呼ばれるもので、この二つがプレースホルダー(「%1」と「%2」)に置き換わって実行されたのです。
結果をファイルに出力
さて、これでファイルの中を書き換えなくてもファイルの比較ができるようになりました。さらに、比較した結果をファイルに残せるように改良します。再び、バッチファイルを開いてこのように変えてください。
1 |
fc /n %1 %2 > result.txt |
これを同様に実行すると、これまではコマンドプロンプトの画面に出力されていた結果が、「result.txt」というファイルに出力されるようになります。「> result.txt」の部分がファイル出力を指示している部分になります。
実行後、「result.txt」というファイルができていると思いますので、中身を確認してみましょう。
コマンドプロンプトに表示される内容がファイルにそのまま表示されていることが分かります。
別の便利な実行方法
さらに作業が早くなるようにしましょう。
ここまでのバッチファイルの実行方法では、二つのファイルを比較しようと思ったら、コマンドプロンプトを立ち上げ、バッチファイル名に続けて比較する二つのファイル名を引数として打ち込まなければいけません。これではまだ少し面倒です。
バッチファイルの実行には、コマンドプロンプトを立ち上げコマンドを打つ以外に、いくつかの便利な実行方法があります。その一つが、ファイルをバッチファイルの上に乗せる実行方法です。
比較したい二つのファイル(ここでは「file1.txt」と「file2.txt」)をバッチファイル(「file_compare_2.bat」)の上にドラッグ&ドロップしてみてください。二つのファイルを選択するには、「Ctrl」キーを押しながら二つのファイルをクリックします。
その前に、「result.txt」は削除しておいた方が、正しくファイルができたかどうか分かりやすいでしょう。
再び、「result.txt」が得られれば成功です。
この方法であれば、コマンドプロンプトを開く必要も、コマンドを打ち込む必要も無く、マウス操作のみで行えるため非常に楽です。
これで、ファイル比較バッチの完成です。是非、普段の作業で使ってくださいね。
第3章のまとめ
本章では、ファイル比較バッチを改良していく過程で、「プレースホルダー」について学びました。さらに、バッチファイルには別の実行方法があることを知りました。
【入門講義 第3章のまとめ】
- その1 毎回変更する名前には「プレースホルダー」が便利
- その2 バッチファイルはドラッグ&ドロップでも実行可能
なにか不明な点やうまくいかない場合は、「お問い合わせフォーム」からお気軽にお問い合わせ下さい。
次章では、「copy」コマンドを使ってファイルをコピーするバッチファイルを作りながら、プログラミングにおいて非常に重要な要素である「ワイルドカード」について学んでいきましょう。