回答:
diff-extが必要なようですね!
このシェル拡張(diff-ext)を使用すると、同じディレクトリにある2つまたは3つのファイル(ツールに応じて)のファイル比較ツールを起動したり、後で比較するためにファイルを保存したりできます。これは、比較ツールの外部の最新の使用済み(MRU)ファイルリストとして機能します。
私はKDiff3で使用していますが、使用できるページには他にもいくつかの差分ツールがあります。
Kdiff3
=> Compare
)、何かをすばやく簡単に必要とする場合は、それで十分かもしれません。
右クリックコンテキストメニューエントリを追加してカスタムコマンド(Meldの呼び出しなど)を実行し、2つのファイルを比較する私のソリューションを次に示します。
背景 シンプルなコンテキストメニューエントリは、Windowsレジスタ(regedit)に簡単に追加できます:手動で、または.regファイルを作成して(以下の例を参照)。
問題は、選択した各ファイルに対してコマンドが実行されることです。これを解決する3つのソリューションがあります。
singleinstance.exe
から使用します(シンプル)。このプログラムはオプション2を実行します。呼び出された別の時間から引数を収集し、それらを必要なコマンドに渡します。タイムアウトオプションを使用して、収集するコールを収集できます。詳細については、リンクをたどってください。手順1 context-menu-handlerからsingleinstance.exeをダウンロードします(作成者に感謝します)
ステップ2(ファイルとフォルダーの比較用):次のコンテンツを含む拡張子「.reg」のファイルを作成します(アイコン付きのMeldの例):
Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\*\shell\DiffIt_Files]
@="Diff it!"
"Icon"="C:\\Config\\look\\Icons\\Meld.ico"
[HKEY_CLASSES_ROOT\*\shell\DiffIt_Files\command]
@="\"c:\\Bin\\singleinstance.exe\" \"%1\" \"C:\\Program Files (x86)\\Meld\\Meld.exe\" $files --si-timeout 400"
[HKEY_CLASSES_ROOT\Folder\shell\DiffIt_Folders]
@="Diff It!"
"Icon"="C:\\Config\\look\\Icons\\Meld.ico"
[HKEY_CLASSES_ROOT\Folder\shell\DiffIt_Folders\command]
@="\"c:\\Bin\\singleinstance.exe\" \"%1\" \"C:\\Program Files (x86)\\Meld\\Meld.exe\" $files --si-timeout 400"
regファイルは、「Diff It!」というラベルの付いたコンテキストメニューエントリを作成します。すべてのファイル(*
)およびフォルダー(Folder
)に対して。Icon
アイコンが不要な場合は、を含む行を削除できます。
プログラムのパスsingleinstance.exe
とコマンドの実行を調整します(ここC:\Program Files (x86)\Meld\Meld.exe
で、バックスペースと引用符のエスケープに注意してください。
ステップ3.reg
ファイルを実行します。管理者であれば、ダブルクリックしても機能する場合があります。それ以外の場合は、フォルダーで管理者コマンドプロンプトを開きます(エクスプローラーで、[ファイル]、[コマンドを開く]、[管理者としてコマンドを開く]またはAlt-F-M-A
)。.reg
ファイルの名前を入力して、レジストリに追加します。
それでおしまい。
(アンインストール)レジストリでキーを手動で削除するか.reg
、次の内容のファイルを作成できます。
Windows Registry Editor Version 5.00
[-HKEY_CLASSES_ROOT\*\shell\DiffIt_Files]
[-HKEY_CLASSES_ROOT\Folder\shell\DiffIt_Folders]
代替ソフトウェアを使用して、ContextEditなどのコンテキストメニューエントリを追加、編集、削除します(ただし、アイコンを簡単に追加することはできません)。この場合、コマンドは次のようになりますので、スラッシュと引用符をエスケープする必要はありません。
"c:\Bin\singleinstance.exe "%1" "C:\Program Files (x86)\Meld\Meld.exe" $files --si-timeout 400
singleinstance.exe
。多分それは、Windows 10と互換性がありません
Beyond CompareおよびWinMergeは、インストール中にシェル統合を有効にした場合にもこれを実行できます。