仕事などでテキストなどを取り扱っていると、似たようなそのテキストファイルの中身を比較して何の文字が違うのかを検証することもあると思うが、そんな時に使うと便利なのがテキストやテキストファイル、フォルダなどの差分を比較できるフリーのソフトWinmergeを使うと便利だ。
差分比較してマージ(融合)することもできる。
ちなみに、テキストだけの比較ならオンラインでもできる。
関連 複数のファイル名を一括変換できるリネームソフトFlexible Renamer
Winmergeのダウンロード
Winmergeにはいくつかのバージョンがあり、基本的にテキストやフォルダの比較をするだけならどちらでもいいだろうが、今もちょこちょこと改良されているバージョンを使うことでちょっとした新機能が利用できる。
本家で配布されているのは、最新安定版のバージョン2.14.0。
http://winmerge.org/
バージョン3も開発しているよ、的な案内もあるが2011年で作業がストップしているようだ。
下記は本家から派生したバージョンで、3ファイルの比較や64bit対応、ファイルの文字コード自動検出など細々なところが改良されている。本家を使っていて文字化けが起きるというのが嫌とかいう場合にはこちらをおすすめ。本家との違いはこちらをチェック。Windows10を使っているなら64bit版を使えばいいだろう。
http://www.geocities.co.jp/SiliconValley-SanJose/8165/winmerge.html
今回はこの改良版を使って紹介していく。
インストール
ファイルをダウンロードしたら、インストール。
基本的に「次へ」を最後までクリックするだけ。いずれのバージョンも日本語に対応している。
テキストの比較
基本的な使い方を見てみよう。まずは、ちょっとしたテキストの差分を比較したい場合。
ソフトを起動したらウィンドウの左上のアイコンをクリックするか、「Ctrl + N」で新規の作業スペースを作成。
そして、下記のように比較したいテキストを左側のカラムと右側のカラムにそれぞれ貼り付ける。
そしたら、ウィンドウの右上の更新ボタンをクリック。
すると下記のようにハイライトされて差分で違うテキストがあるのが分かる。
そしたら、下記のボタンをクリックして最初の差異に移動。
最後のステップは、差異のある違う行をマージ(融合)する作業。
サンプルのように「左へコピーし次へ」というボタンをクリックするだけで、簡単に右側カラムの行をコピーして左のカラムの行への貼り付けして内容を同じように揃えることができる。便利だね~。
基本的な使い方は以上のような感じだ。
テキストファイルの比較
続いてはテキストファイルの比較。
と言っても、既に用意しているテキストファイルをドラッグ&ドロップするだけ。
するとこんな画面になるのでさらにもう片方のテキストファイルをドラッグ&ドロップして「OK」をクリック。
後は先程のテキストの比較と同様のやり方で比較するだけ。作業したファイルはもちろん保存するのを忘れないように。
なお、デフォルトの設定ではテキストファイルを編集して保存した場合、バックアップファイルが自動で元ファイルを保存してあるフォルダに作成される。上記のサンプルだと「text-1.txt.bak」というファイル名でバックアップファイルが作成されるので、間違って作業した場合はそれを使うといいだろう。
フォルダの比較
続いてはフォルダの比較。フォルダに保存してあるファイルの差異などをチェックしたい時に便利。
これもやり方は簡単で、フォルダを丸ごとドラッグ&ドロップ。
そしたらもう片方のフォルダをドラッグ&ドロップして「OK」をクリック。
そうするとサンプルのように「フォルダー1」には、「text-1.zip」と「text-2.zip」というファイルがあるが、フォルダー2にはないということが分かる。同じようにフォルダの内容を揃えたいのであればそれらを選択してコピーのアイコンをクリックするだけ。
フォルダー操作のもうワンステップアップな使い方。
デフォルトでは全てのフォルダーの中のファイルが全て表示されるようになっている。なので、設定で同一項目以外のファイルのみを表示することでそれらのファイルのみをコピーする作業が楽になる。
そんで後はファイルを全て選択して、右クリックでクリップボードにコピーして保存したフォルダーに貼り付け。
バイナリ比較
バイナリ比較もできるようになっている。ファイルを開く時に「HEX表示」をクリックするか、メニューの「ファイル」、「形式を指定して再比較」、「バイナリ」を選択する。
予めファイルの拡張子を登録しておけば、自動で開くようになっている。サンプルでは最後尾に「;*.exe」を追記している。