WinMerge で、『最近使用したプロジェクト (Recent Projects)』の履歴と、『最近使用したファイルまたはフォルダー (Recent Files Or Folders)』の履歴を削除する方法です。
履歴の保存場所を探したところ、WinMerge は、履歴をレジストリに保存していました。
履歴の削除方法です。
WinMerge を終了してから、履歴のレジストリキーを削除します(後述)。
これで、最近使用したプロジェクト、ファイル、フォルダを、履歴から消すことができました。
WinMerge の画面から削除する方法も探したのですが、見つけることができませんでした。
なので、自分は履歴削除用のバッチファイルを用意して、ダブルクリックでクリアできるようにしました。
使用した WinMerge は、Version 2.16.4.0 (64 bit) でした。
(winmergejp.bitbucket.io) WinMerge 日本語版
OS は Windows 10 (64 bit) でした。
履歴の場所
履歴のレジストリキーの場所です。
WinMerge は、以下のキーに、履歴を保存していました。
HKEY_CURRENT_USER\Software\Thingamahoochie\WinMerge\Files\Left
HKEY_CURRENT_USER\Software\Thingamahoochie\WinMerge\Files\Option
HKEY_CURRENT_USER\Software\Thingamahoochie\WinMerge\Files\Right
HKEY_CURRENT_USER\Software\Thingamahoochie\WinMerge\Recent File List
履歴の削除方法
履歴のレジストリキーの削除方法です。
まず、WinMerge を終了します。
次に、レジストリエディタを開いて、上記の Left キーの場所を開きます。
Left キーを右クリックして、『削除(D)』を押します。
すると、『キーの削除の確認』で、『このキーとそのサブキーをすべて完全に削除しますか?』と聞かれるので、『はい(Y)』を押します。
これで、キーを1つ削除することができました。
同じようにして、Option キーと Right キーと Recent File List キーも、削除していきます。
これで、WinMerge の履歴を削除することができました。
Windows を再起動する必要は、ありませんでした。
削除したキーは、WinMerge を起動したり、WinMerge でファイルやフォルダを開いたりしたときに、再び生成されました。
さて、実際には、毎回レジストリエディタを開いて削除するのは大変でした。
なので、自分はバッチファイルを作って、WinMerge のファイル履歴を削除しています。
バッチファイルをダブルクリックするだけで、サクッと履歴をクリアできるようになりました。
バッチファイルの作り方
『最近使用したプロジェクト (Recent Projects)』の履歴と、『最近使用したファイルまたはフォルダー (Recent Files Or Folders)』の履歴を削除する、バッチファイルの作り方です。
レジストリキーは、コマンドラインの reg delete
コマンドで削除することができました。
自分は、『WinMerge_履歴削除.bat』というテキストファイルを作って、以下の内容を書きました。
バッチファイルを保存したときのエンコーディングは、SHIFT-JIS とか CP932 です。
reg delete "HKEY_CURRENT_USER\Software\Thingamahoochie\WinMerge\Files\Left" /f
reg delete "HKEY_CURRENT_USER\Software\Thingamahoochie\WinMerge\Files\Option" /f
reg delete "HKEY_CURRENT_USER\Software\Thingamahoochie\WinMerge\Files\Right" /f
reg delete "HKEY_CURRENT_USER\Software\Thingamahoochie\WinMerge\Recent File List" /f
pause
末尾の /f
は、削除するときに Yes/No を聞かないでほしい、という指示です。
日本語のヘルプは、コマンドプロンプトで reg delete /?
を実行したら、見ることができました。
C:\>reg delete /?
REG DELETE キー名 [/v 値名 | /ve | /va] [/f] [/reg:32 | /reg:64]
(中略)
/f プロンプトなしで強制的に削除します。
最後の pause
は、一時停止するためのコマンドです。
『続行するには何かキーを押してください . . .』と表示してくれました。
日本語のヘルプは、コマンドプロンプトで pause /?
を実行したら、見ることができました。
C:\>pause /?
バッチ プログラムの処理を一時停止し、
"続行するには何かキーを押してください . . ."
というメッセージを表示します。
pause
コマンドは、バッチファイルがうまく動いた時点で、消しました。
実行結果
バッチファイルの実行結果です。
F:\datas>reg delete "HKEY_CURRENT_USER\Software\Thingamahoochie\WinMerge\Files\Left" /f
この操作を正しく終了しました。
F:\datas>reg delete "HKEY_CURRENT_USER\Software\Thingamahoochie\WinMerge\Files\Option" /f
この操作を正しく終了しました。
F:\datas>reg delete "HKEY_CURRENT_USER\Software\Thingamahoochie\WinMerge\Files\Right" /f
この操作を正しく終了しました。
F:\datas>reg delete "HKEY_CURRENT_USER\Software\Thingamahoochie\WinMerge\Recent File List" /f
この操作を正しく終了しました。
F:\datas>pause
続行するには何かキーを押してください . . .
レジストリエディタを見たら、期待した通り、履歴のキーが消えていました。
そして、WinMerge を起動したら、期待した通り、最近使用したファイルなどの履歴が消えていました。
成功です。
ところで、もし、reg delete
に /f
をつけなかったら、どうなるのか?
そのときは、以下のようになりました。
F:\datas>reg delete "HKEY_CURRENT_USER\Software\Thingamahoochie\WinMerge\Files\Left"
レジストリ キー HKEY_CURRENT_USER\Software\Thingamahoochie\WinMerge\Files\Left を完全に削除しますか? (Yes/No) y
この操作を正しく終了しました。
F:\datas>reg delete "HKEY_CURRENT_USER\Software\Thingamahoochie\WinMerge\Files\Option"
レジストリ キー HKEY_CURRENT_USER\Software\Thingamahoochie\WinMerge\Files\Option を完全に削除しますか? (Yes/No) y
この操作を正しく終了しました。
F:\datas>reg delete "HKEY_CURRENT_USER\Software\Thingamahoochie\WinMerge\Files\Right"
レジストリ キー HKEY_CURRENT_USER\Software\Thingamahoochie\WinMerge\Files\Right を完全に削除しますか? (Yes/No) n
この操作はユーザーによって取り消されました。
F:\datas>reg delete "HKEY_CURRENT_USER\Software\Thingamahoochie\WinMerge\Recent File List"
レジストリ キー HKEY_CURRENT_USER\Software\Thingamahoochie\WinMerge\Recent File List を完全に削除しますか? (Yes/No) n
この操作はユーザーによって取り消されました。
F:\datas>pause
続行するには何かキーを押してください . . .
1つ1つ、削除を実行するか?やめるか?を、y
か n
で答えていく必要がありました。
以上です。