コマンドライン


WinMergeのコマンドラインは、比較するパスに加えいくつかのパラメータを受け付けます。 これらのパラメータのほとんどは、外部比較ツールとして使用したり、バッチファイルから比較操作を 開始できるようにすることを目的としています。

WinMergeをコマンドラインから実行するには以下の書式のうちの1つを使用します:

WinMerge[U] [/?]

WinMergeU [/r] [/e] [/f filter] [/x] [/xq] [/s] [/ul] [/um] [/ur] [/u] [/wl] [/wm] [/wr] [/minimize] [/maximize] [/fl] [/fm] [/fr] [/dl leftdesc] [/dm middledesc] [/dr rightdesc] leftpath [middlepath] rightpath [/o outputpath] [/al] [/am] [/ar]

WinMergeU conflictfile

パラメータなしかパス名を入力すると単にWinMergeウインドウを開きます。 パラメータは、スラッシュ( / ) か、ダッシュ ( - ) 文字が 前に付加されます。パス名にはプリフィックス文字を付加しません。

/?

このトピックのWinMergeヘルプを開きます。

/r

すべてのサブフォルダ内のすべてのファイルを比較します(再帰比較)。 ユニークフォルダ (片方のみ存在するフォルダ)は、分離された項目として比較結果内にリストされます。 サブフォルダまで含めるとかなり比較時間が増大してしまうことに注意してください。 このパラメータを指定しなかった場合、WinMergeは比較するフォルダ内のファイルとトップレベルのサブフォルダのみリストします。 サブフォルダの中までは比較しません。

/e

EscキーでWinMergeが閉じるようにします。 WinMergeを外部比較アプリケーションとして使用する場合に便利です。 (ダイアログのようにすばやくWinMergeを閉じることができます) この引数を指定しなかった場合、すべてのウインドウを閉じるのに何回もEscキーを 押さなければならないことになるかもしれません。(2つ以上タブが開かれている場合、一回のESCキーの押下でWinMergeが終了してしまうのを期待している人はいないような気がしたので、日本語版ではこのオプションを指定しても2つ以上タブが開かれている場合は1つのタブを閉じるだけにし、タブが1つの時またはタブが一つもない時にWinMergeを終了するようにしました)

/f

比較を制限するために、指定したフィルタを適用します。 フィルタは*.h *.cppのようなファイルマスクか、 XML/HTML Develのようなファイルフィルタの名前です。 スペースを含むフィルタマスクやフィルタ名はダブルクォーテーションマークで括ってください。

/x

同一ファイルの比較をしたときにWinMergeを閉じます。 (情報ダイアログを表示した後) このパラメータは比較後に効果がなくなります。 例えば、もしファイルがマージか編集の結果として同一となった場合です。 このパラメータは、WinMergeを外部アプリケーションとして使用したり、 差異のないファイルを無視することによって余分なステップを取り除きたい場合に便利です。

/xq

オプション /x に似ていますが、同一ファイルであってもメッセージボックスを表示しません。

/s

WinMergeウインドウを1つのインスタンスに制限します。 例えば、WinMergeが既に実行中ならば、新しい比較は同じインスタンス内で実行されます。 この引数を指定しなかった場合、複数のウインドウが開かれる可能性があります: 設定によっては、新しい比較が既に存在するウインドウで実行されることも新しいウインドウで 実行されることもあります。

/ul

左側パスが最近使用した項目(MRU)リストに追加されるのを防ぎます。 外部アプリケーションは、ファイルまたはフォルダの選択ダイアログのMRUリストにパスを 追加するべきではありません。

/um

中央のパスが最近使用した項目(MRU)リストに追加されるのを防ぎます。 外部アプリケーションは、ファイルまたはフォルダの選択ダイアログのMRUリストにパスを 追加するべきではありません。

/ur

右側パスが最近使用した項目(MRU)リストに追加されるのを防ぎます。 外部アプリケーションは、ファイルまたはフォルダの選択ダイアログのMRUリストにパスを 追加するべきではありません。

/u

(または/ub) 各々(左、右、中央)のパスが最近使用した項目(MRU)リストに追加されるのを防ぎます。 外部アプリケーションは、ファイルまたはフォルダの選択ダイアログのMRUリストにパスを 追加するべきではありません。

/wl

読み取り専用として左側を開きます。 比較時、左側を変更したくない場合に使用してください。

/wm

読み取り専用として中央を開きます。 比較時、中央を変更したくない場合に使用してください。

/wr

読み取り専用として右側を開きます。 比較時、右側を変更したくない場合に使用してください。

/minimize

最小化状態でWinMergeを開始します。 このオプションは長時間かかる比較を行う場合に便利です。

/maximize

最大化状態でWinMergeを開始します。

/fl

起動時、左側にフォーカスを当てます

/fm

起動時、中央にフォーカスを当てます

/fr

起動時、右側にフォーカスを当てます

/dl

左側タイトルバーの説明を指定します。 デフォルトのフォルダやファイル名テキストに上書きされます。例: /dl "Version 1.0" や /dl WorkingCopy. スペースを含む説明はダブルクォーテーションマークで括ってください。

/dm

/dlと同様に中央タイトルバーの説明を指定します。

/dr

/dlと同様に右側タイトルバーの説明を指定します。

leftpath

左側で開くフォルダやファイルを指定します。

middle

中央で開くフォルダやファイルを指定します。

right

右側で開くフォルダやファイルを指定します。

WinMergeは、ファイルとフォルダを比較できません。そのためパスパラメータ両方 (leftpathrightpath) には、同じ種類(フォルダかファイルのどちらか) を指し差なければなりません。 もし、WinMergeが指定したパスのどちらかを見つけることができなければ、 ファイルまたはフォルダ選択ダイアログを開きます。 ファイルまたはフォルダ選択ダイアログでは、正しいパスを選択できます。

ティップ

ファイル比較では、パスパラメータの一つとしてフォルダ名を指定できます。 ただし、フォルダは他方のファイル名と同じファイルを含んでいる必要があります。

例えば、以下のコマンドを考えます:

WinMergeU C:\Folder\File.txt C:\Folder2

もし、C:\Folder2が ファイル名File.txtを含んでいれば、 WinMergeは、暗黙的にファイル指定として第二のパスを解決します。 当然ながら、C:\Folder2がファイル名 File.txtを含んでいなければ、コマンドは不正とみなされます。

/o outputpath

マージした結果のファイルを保存するオプションの出力フォルダを指定します。

出力パスはコマンドラインからWinMergeを開始する時まれにしか必要となりません。 それはバージョンコントロールツールとともに使用されることになります。 結果ファイルとして出力パスを指定する必要があるかもしれません。 もし、出力パスを指定した場合、あるペインを変更後保存すると、変更は出力パスのファイルに保存され、 元ファイルは前の状態のままになります。

バージョンコントロールシステムは一般的にtheirsminemergedかまたはresolved のような用語を使用し元と結果ファイルを参照します。 もし、WinMergeコマンドラインに出力パスを指定し、バージョンコントロールシステムと連携するならば、 この順番でファイルを並べるべきです。

/al

起動時、左側で自動マージします。

/am

起動時、中央で自動マージします。

/ar

起動時、右側で自動マージします。

conflictfile

コンフリクトファイルを指定します。 コンフリクトファイルは通常バージョンコントロールシステムによって生成されます。 コンフリクトファイルはファイル比較ウインドウで開かれ、 「コンフリクトファイルの解決」で説明している様にマージやコンフリクトを解決することができます。 コンフリクトファイルと共に他のパスは使用できないことに注意してください。