コマンドプロンプトからWinMergeを操作する
はじめに
「WinMerge」はスクリプトや設定ファイルの差分を比較する際に重宝していますが、調べ物をしている最中にWinMergeをコマンドラインから操作する方法があることを知りました。
以下のようにコマンドラインでWinMergeを定期的に実行すれば、例えば「たまに更新されるファイルを比較して、更新を検知する」ということが可能になるかもしれません。
方法
- 以下のコマンドで2ファイルを比較して、その結果をファイルに出力することができます。
- 「1ファイルずつの比較結果」と「フォルダ単位での比較結果」で、得られる結果ファイルのフォーマットが異なる点に注意してください。
- 1ファイルずつの場合:HTMLファイル。WinMergeの画面とよく似たフォーマットになっています。
- フォルダ単位での比較結果
> start WinMergeU {左パネルに表示するファイル/フォルダ} {右パネルに表示するファイル/フォルダ} /or {比較結果の出力先ファイル}
1ファイルずつの比較結果の例
- 1ファイルずつの比較結果の場合、以下の図のようにGUIで見やすい結果が得られます。
- 逆に、この結果ファイルをプログラムで解析するのは少々面倒だと思います...
- 1ファイルずつの場合:HTMLファイル。WinMergeの画面とよく似たフォーマットになっています。
- フォルダ単位での比較結果
> start WinMergeU {左パネルに表示するファイル/フォルダ} {右パネルに表示するファイル/フォルダ} /or {比較結果の出力先ファイル}
- 逆に、この結果ファイルをプログラムで解析するのは少々面倒だと思います...
フォルダ単位での比較結果の例
- フォルダ単位での比較結果の場合、以下のように単なるテキストとして結果が出力されます。
- HTMLで出力されたものよりは、プログラムで解析しやすいと思います。
result.txt
C:\Users\NKOJIMA\Desktop\a と C:\Users\NKOJIMA\Desktop\b の比較
2020/02/02 18:17:14
ファイル名,フォルダ,比較結果,左日付,右日付,拡張子
..,,,,,
a.txt,,テキストファイルは同一です, 2020/02/02 18:11:37, 2020/02/02 18:11:37,txt
b.txt,,テキストファイルは同一です, 2020/02/02 18:11:44, 2020/02/02 18:11:44,txt
c.txt,,右側のみ: C:\Users\NKOJIMA\Desktop\b, ,* 2020/02/02 18:16:03,txt
その他
上記のコマンドを実行するとWinMergeが起動したままになってしまうので、処理が完了したら次のコマンドでWinMergeを終了させると良さそうです。
> taskkill /IM "WinMergeU.exe"
成功: プロセス "WinMergeU.exe" (PID 2600) に強制終了のシグナルを送信しました。
参考URL
Author And Source
この問題について(コマンドプロンプトからWinMergeを操作する), 我々は、より多くの情報をここで見つけました https://qiita.com/nkojima/items/d67c54c2bf5c640c0aae著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .