コードを抜き出してwinmergeにかける作業の時短


概要

 コードを読んでいて「これさっき似たようなのあったなぁ」と既視感を覚え、差分を調べることがあります。
その際私がよくやるのが、「a.txt」と「b.txt」二つファイルを用意し、そこにそれぞれ抜き出したコードを張り付けてWinMergeにかけることです。

 そういうことは頻度は高くはないのですが、たまにやる際に「a.txt」、「b.txt」それぞれファイルを開き、WinMerge起動するのが面倒だったのでバッチにしました。
以下に上げました。ご自由のご使用ください。

WinMergeでファイル比較起動バッチ

基本的に自分用ですので、勝手に改変することがあります。

内容

バッチの内容は以下です。(記事執筆時点)

diff.bat

rem winmerge path
set WINMERGE="C:\Program Files\WinMerge\WinMergeU.exe"


rem Working dirctory
set WORKDIR=diff
: filename
set FILE_A=%WORKDIR%\a.txt
set FILE_B=%WORKDIR%\%b.txt

rem Make working directory
mkdir %WORKDIR%

rem Open text files with the default app
start %FILE_A%
start %FILE_B%

start "" %WINMERGE% %FILE_A% %FILE_B%

変数WORKDIRのフォルダに比較するための2ファイルを格納します。
変数FILE_Aと変数FILE_Bがその比較対象のファイルで、それらをWinMergeで比較します。

start %FILE_A%start %FILE_B%はテキストファイルを起動しています。
拡張子「.txt」に設定しているテキストエディタによってファイルが開かれます。

start "" %WINMERGE% %FILE_A% %FILE_B%でWinMergeを起動して2つのファイルの比較をします。
ちなみに、start """"は新しく起動するプロンプトのタイトル名です。これを付けないと%WINMERGE%を誤ってタイトルとして受け取ってしまいWinMergeが起動しません。

実行すると、変数FILE_Aと変数FILE_Bの2ファイルがテキストエディタで起動し、同時にWinMergeでの比較も起動します。
後は、テキストファイルにコードを張り付ければOKです。WinMerge上で直接貼り付けても良いです。

変数WINMERGEはWinMergeインストールパスに合わせて適宜変更してください。