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の日本語は読めないようだ。
感想
使ってみたら分かるけど、ちょっと使いにくいかな…。