Antworten:
Klingt wie Sie brauchen diff-ext !
Diese Shell-Erweiterung (diff-ext) ermöglicht es, das Dateivergleichstool für 2 oder 3 Dateien (je nach Tool) im selben Verzeichnis zu starten oder eine Datei (en) für einen späteren Vergleich zu "speichern". Es fungiert als externe Liste der zuletzt verwendeten Dateien (MRU) für das Vergleichstool.
Ich verwende es mit KDiff3 , aber es gibt eine Reihe anderer Diff-Tools auf der Seite, mit denen es verwendet werden kann.
Kdiff3
=> Compare
). Wenn Sie also nur schnell und einfach etwas benötigen, ist dies möglicherweise ausreichend.
Hier ist meine Lösung, um einen Kontextmenüeintrag mit der rechten Maustaste hinzuzufügen, um einen benutzerdefinierten Befehl (wie das Aufrufen von Meld) auszuführen und zwei Dateien zu unterscheiden.
Hintergrund Einfache Kontextmenüeinträge können einfach im Windows-Register (regedit) hinzugefügt werden: manuell oder durch Erstellen einer REG-Datei (siehe Beispiel unten).
Das Problem ist, dass der Befehl für jede ausgewählte Datei ausgeführt wird. Es gibt drei Lösungen, um dies zu lösen:
singleinstance.exe
aus dem Kontextmenü-Handler (einfach). Dieses Programm führt Option 2 für Sie aus. Es sammelt Argumente aus der unterschiedlichen Zeit, zu der es aufgerufen wird, und übergibt diese dann an den gewünschten Befehl. Eine Timeout-Option hilft beim Sammeln von zu sammelnden Anrufen. Folgen Sie dem Link für weitere Informationen.Schritt 1 Laden Sie singleinstance.exe vom Kontextmenü-Handler herunter (und danken Sie dem Autor, mit dem ich nicht verwandt bin)
Schritt 2 (zum Datei- und Ordnervergleich) : Erstellen Sie eine Datei mit der Endung ".reg" mit folgendem Inhalt (Beispiel für Meld mit einem Icon):
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"
Die reg-Datei erstellt einen Kontextmenüeintrag mit der Bezeichnung "Diff It!" für alle Dateien (*
) und für Ordner ( Folder
). Die Zeilen mit dem Icon
können entfernt werden, wenn Sie kein Symbol möchten.
Passen Sie den Pfad des Programms an singleinstance.exe
und die Befehlsausführung an (hier C:\Program Files (x86)\Meld\Meld.exe
. Beachten Sie das Entweichen der Backspaces und der Anführungszeichen
Schritt 3 Führen Sie die aus.reg
Datei aus. Ein Doppelklick darauf könnte funktionieren, wenn Sie Administrator sind. Öffnen Sie andernfalls eine Administrator-Eingabeaufforderung in Ihrem Ordner (im Explorer: Datei> Befehl öffnen> Befehl als Administrator öffnen oder Alt-F-M-A
). Geben Sie einfach den Namen der .reg
Datei ein, um sie zur Registrierung hinzuzufügen.
Das ist es.
(Deinstallation) Sie können die Schlüssel entweder manuell in der Registrierung löschen oder eine .reg
Datei mit folgendem Inhalt erstellen :
Windows Registry Editor Version 5.00
[-HKEY_CLASSES_ROOT\*\shell\DiffIt_Files]
[-HKEY_CLASSES_ROOT\Folder\shell\DiffIt_Folders]
Alternative Verwenden Sie eine Software zum Hinzufügen, Bearbeiten und Entfernen von Kontextmenüeinträgen wie ContextEdit (das Hinzufügen von Symbolen ist jedoch nicht einfach). In diesem Fall brauchen Sie die Schrägstriche und Anführungszeichen nicht zu umgehen, damit der Befehl folgendermaßen aussieht:
"c:\Bin\singleinstance.exe "%1" "C:\Program Files (x86)\Meld\Meld.exe" $files --si-timeout 400
singleinstance.exe
. Vielleicht ist es nicht kompatibel mit Windows 10.
Beyond Compare und WinMerge können dies auch tun, wenn Sie die Shell-Integration während der Installation aktivieren .