ここでは、Windowsで2つの異なるフォルダーやファイルの内容を比較して違いを確認する方法として、標準搭載のPowerShellを使った方法と、専用ツール「WinMerge」を使った方法を紹介します。
目次
PowerShellを使った方法
Windowsの標準機能で比較したいときは、コマンドインターフェースPowerShellのCompare-Objectコマンドレットを使った方法がおすすめです。
たとえば、2つのフォルダーを比較したいときは、次のようにコマンドを実行します。
PS> Compare-Object -ReferenceObject (Get-ChildItem "比較したいフォルダーのパス1" -Recurse) -DifferenceObject (Get-ChildItem "比較したいフォルダーのパス2" -Recurse) -Property Name, Length, LastWriteTime
上のコマンドでは、ファイル名だけでなくファイルサイズやファイルの更新日時も比較できます。
2つのファイルの内容を比較したいときは、次のようにコマンドを実行します。
PS> Compare-Object -ReferenceObject (Get-Content "比較したいフォルダーのパス1") -DifferenceObject(Get-Content "比較したいフォルダーのパス2")
なお、Compare-Objectコマンドレットでフォルダーやファイルを比較して違いがあった場合、どのような違いがあるかは表示されるものの、どの行に違いがあるかなど詳しい情報は表示されません。
WinMergeを使った方法
WinMergeとは
WinMerge - You will see the difference…
「WinMerge」は、フォルダーの内容やファイルの中身を比較して、違いを色分けして分かりやすく表示してくれるオープンソースの便利ツールです。
元はプログラミング支援ツールだったようですが、バージョン違いのファイルの内容を比較したりなど、プログラミング以外でもとても便利に使えます。
WinMergeの使い方
インストール方法は、上のダウンロードページでも紹介されているので割愛させていただき、ここではWinMergeを使ってフォルダーやファイルの比較する方法や、どんな感じに表示されるのかについて紹介します。
フォルダーの比較
フォルダーを比較するときは、ツールバーにある「開く」ボタンをクリックして、比較する2つのフォルダーのパスを指定すると、フォルダー内容の違いがハイライトされて表示されます。
手っ取り早く比較したい場合は、下の動画のように比較したいフォルダーをWinMergeのウィンドウにドラッグ&ドロップすればあっという間に比較できます。
ファイル内容の比較
ファイル内容の比較もフォルダーと同様の操作で比較することができます。
ウィンドウには2つのファイルの異なる部分が色分けして表示されます。(内容の異なる行と、異なる箇所がそれぞれ色分けされています)
また、ウィンドウ左側の「Location Pane」には、ファイル全体の中で異なる部分が色付けされて表示されているので、行数が多い場合でも簡単に異なる箇所を確認することができます。
あとがき
WinMergeでは、上に紹介したフォルダーやファイルの比較以外にも、画像の比較や、プラグインを利用することでMicrosoft Officeファイル(Word、Excel、PowerPoint)の比較も可能です。
私の場合、仕事でWord、Excelを使って設計書やマニュアルなどを作成していて、ファイルの内容を比較したい場面でとても重宝しています。