実施環境
WinMerge 2.16.28.4
0. 概要
例えばファイルの更新箇所を確認したいときや環境による差分を調べたいときなど、2つのファイルの異なる箇所だけを抜き出してみたいことはしばしばあります。
このとき、サイズの小さいファイルならば2つのファイルを開いて目視確認でもよいかもしれませんが、何十行、何百行もの文字列が書き込まれているファイルを1行1行比較するのはさすがに大変です。
そのようなときに役立つのが、今回紹介する WinMerge というアプリです。
1. インストール
WinMerge は、以下のサイトで配布されています。
今回は最新の安定版であるバージョン 2.16.28.4 をインストールします。
「インストーラ」列の「ダウンロード」を押し、環境にあったインストーラをダウンロードします。
今回使用する環境は 64bit 環境なので、 64bit 版を選択します。
インストーラがダウンロードされるので、これをダブルクリックして実行します。
ライセンス情報が表示されるので、確認して「次へ」を押します。
インストール先の選択画面が表示されます。
今回はデフォルトのまま変えず、「次へ」を押します。
インストールするコンポーネントの選択画面が表示されます。
今回はデフォルトのまま変えず、「次へ」を押します。
プログラムアイコンの作成場所の選択画面が表示されます。
今回はデフォルトのまま変えず、「次へ」を押します。
追加タスクの選択画面が表示されます。
今回はデフォルトのまま変えず、「次へ」を押します。
インストール設定の確認画面が表示されるので、確認して「インストール」を押します。
インストールが実行されるので、しばらく待ちます。
インストール後、 WinMerge の情報が表示されるので確認して「次へ」を押します。
これでインストールはすべて完了です。
「完了」を押してインストーラを終了します。
1. 基本
では、さっそく WinMerge を起動して使ってみましょう。
起動すると、以下のようなウィンドウが開きます。
左上の「開く」ボタンを押します。
比較するファイルの選択画面が表示されます。
今回はテキストファイルを2つ選択し、「比較」を押します。
比較結果は、以下のように色分けして表示されます。
該当行 | 該当部分 | 色 |
---|---|---|
同じ | 同じ | 白色 |
違う | 同じ | 濃い黄色 |
違う | 違う | 薄い黄色 |
違う | 片方だけある | 赤色 |
片方だけある | 片方だけある | 赤色 |
ファイル全体が同じ内容である場合は、以下のようなウィンドウが表示されます。
ちなみに、「開く」ボタンをおさずとも、最初の画面に2つのファイルをまとめてドラッグ&ドロップしても比較画面は表示できます。
2. 3ファイル比較
WinMerge は、2ファイルだけでなく3ファイル同時比較も可能です。
3ファイル同時比較時の表示は以下のようになります。
3. 違う行のみを表示する
サイズが非常に大きいファイルの場合は、違いが存在する行のみに表示を制限すると差分調査がしやすくなります。
表示を制限するには、「表示」⇒「 Diff コンテキスト」を選択し、違いが存在する行と前後何行分までを表示するかを選択します。
今回は0行(違いが存在する行のみ表示)を選択しましょう。
選択した結果は以下の通りです。
4. レポート出力
比較結果を他の人と共有するには、レポート出力が便利です。
レポート出力を行うには、比較結果が表示されている状態で「ツール」⇒「レポートの生成」を選択します。
出力先の選択画面が表示されるので、出力先と出力ファイル名を指定して「保存」を押します。
以下の画面が表示されたらレポートの出力は成功です。
レポートは基本的に、 HTML 形式で出力されます。
ブラウザで開くと、以下のような表示になります。
5. 画像比較
WinMerge は、画像の比較も可能です。
画像を比較すると、以下のように異なる箇所が黄色で表示されます。
ちなみに、画像比較でレポート生成を行うと、メインとなる HTML ファイルの他に< HTML ファイル名>.files というフォルダも同時に生成されます。
このフォルダの中には、 HTML ファイルで表示する差分画像が入っています。
6. フォルダ比較
ここまでファイルとファイルを比較してきましたが、 WinMerge はフォルダとフォルダを比較することも可能です。
実際に比較すると、以下のように表示されます。
フォルダ比較の場合は、レポートの出力方法も少し違います。
「ツール」⇒「レポートの生成」までは同じですが、その後出力設定ウィンドウが表示されます。
レポートファイル名をフルパスで指定した後、スタイルは「シンプルな HTML 形式」にします。
さらに今回は、「ファイル比較レポートを含める」にチェックも入れてみましょう。
出力した結果は以下の通りです。
「ファイル比較レポートを含める」にチェックを入れた場合、メインとなる HTML ファイルの他に< HTML ファイル名>.files というフォルダも同時に生成されます。
このフォルダの中には、さらに別の HTML ファイルが入っています。
この HTML ファイルは、個別のファイルの比較結果を出力したレポートです。
さらに、この個別ファイルの比較レポートにはメインの HTML ファイルからリンクがつなげられています。
例えばメインの HTML ファイルを見ていて、「 test2.txt 」ファイルが異なると記載されているのでその詳細が見たくなったとします。
その場合、メインの HTML ファイルの「 test2.txt 」をクリックすると、そのリンクをたどって上のフォルダに入れられた個別ファイルの差分レポートが表示されます。
7. マージ
WinMerge はファイルを比較するだけではなく、ファイルの異なる箇所を一方から他方へコピーすることでファイルのマージを行うこともできます。
ファイルのマージを行う場合は、以下のボタンを使用します。
先ほどのテキストファイルで先頭行を選択し、実際にマージをしてみましょう。
「左側へコピー」を押した場合、右側に表示された行が左側にコピーされます。
「右側へコピー」を押した場合はちょうどその逆です。
個別の行についてマージするのではなく、ファイル全体を一括でマージすることもできます。
実際に「すべてを右側にコピー」を押してみると、以下のようになります。
マージ結果は、「保存」ボタンを押せば保存できます。
元のファイルに上書きする形でマージ結果を保存した場合、マージ前の元ファイルは「 .bak 」という拡張子でバックアップされます。