Windowsでファイルのdiffを取りたければ、けっこうな数の選択肢がある。
実際のところ、私もDF.exeなどを使っている。
ただ改めて調べてみたところ、Windows向けにMicrosoft自らdiffツール作ってたらしい。
その名もWindiff.exe。(Vectorあたりにあるツールと名前かぶってるような)
使ってみたので顛末を示す。

とはいえ。
結論としては、Microsoft製に価値を見出さないならサードパーティのdiffツールの方がいいかな。

Windiff.exeにはxp用と7用がある・・・ようだ。

xp用Windiff.exe

xp用Windiff.exeは、microsoft.comに以下の記載が。

Windiff.exe ユーティリティの使用方法
http://support.microsoft.com/kb/159214/ja

Windiff.exe は、Microsoft Windows 2000 以降のオリジナルの CD-ROM の Support\Tools フォルダーに収められています。サポート ツールをインストールするには、Support\Tools フォルダーの Setup.exe を実行します。Windiff.exe は、Support.cab ファイルにも収められています。Support.cab は、各 Service Pack に含まれています。

ただ、上記のページをWindows 7で開くと、「この技術情報は、お客様がご利用の Windows とは異なるバージョン向けの情報です」とのこと。

Windows 7向けのWindiff.exe

technetで以下を発見。2003用のものを流用すればよさそう。

Windiff for Windows 7
http://social.technet.microsoft.com/Forums/exchange/en-US/0d51abcd-3b76-495b-84a4-45e188f6d9f6/windiff-for-windows-7

Windows 7(32bit)でのインストールのしかた

※おそらくMicrosoftは公式には認めない方法です。
自己責任でどうぞ。

さっそく以下のページからWindowsServer2003-KB892777-SupportTools-x86-ENU.exe をダウンロード。

Windows Server 2003 Service Pack 1 32-bit Support Tools
http://www.microsoft.com/en-us/download/details.aspx?id=7911

コマンドラインから実行する。
オプションを二つ指定する。
/Cで「展開のみインストールせず」、 /Tで展開先をフルパスで指定する。

C:\download>WindowsServer2003-KB892777-SupportTools-x86-ENU.exe /C /T:c:\download\supporttool

以上の例だとc:\download\supporttoolに内容物が展開される。
そのうちのsupport.cabをダブルクリックすると、中にwindiff.exeがあるのでそれを取り出す。
あとはパスの通ったところに置くとか、ランチャーに登録すればよい。

初期設定

そのままだと日本語を表示できないので、Edit → Set Font でフォントを変える。
メイリオとかにしとけ。

使い方

個別ファイルの差分を調べる場合には、File → Compare Files でファイルを二つ選んでOKをクリック。
ディレクトリごと差分を調べる場合には、File → Compare Directoriesで出てきた画面に二つのディレクトリパスを貼りつけてOKをクリックする。

調べたファイルが一覧で表示される。
差分のあるファイルが赤く表示されるので、選択してExpandでファイルの中身を見られる。
Outlineでファイル一覧に戻る。

F7, F8で差分のある個所を順番に選んで行ける。
Pictureは左端に差分箇所を表してくれる。

制限

シフトJISのファイルは読めるけど、UTF-8の日本語は読めないようだ。

感想

使ってみたら分かるけど、ちょっと使いにくいかな…。