Odpowiedzi:
Wygląda na to, że potrzebujesz diff-ext !
To rozszerzenie powłoki (diff-ext) umożliwia uruchomienie narzędzia do porównywania plików dla 2 lub 3 plików (w zależności od narzędzia) w tym samym katalogu lub „zapisanie” pliku (plików) do późniejszego porównania. Działa jako zewnętrzna lista ostatnio używanych plików (MRU) dla narzędzia porównawczego.
Używam go z KDiff3 , ale na stronie znajduje się wiele innych narzędzi do porównywania.
Kdiff3
=> Compare
), więc jeśli potrzebujesz czegoś szybkiego i łatwego, może to wystarczyć.
Oto moje rozwiązanie, aby dodać pozycję menu kontekstowego Kliknij prawym przyciskiem myszy, aby uruchomić niestandardowe polecenie (takie jak wywołanie Meld) i różnicować dwa pliki.
Tło Proste wpisy menu kontekstowego można łatwo dodać do rejestru Windows (regedit): ręcznie lub poprzez utworzenie pliku .reg (patrz przykład poniżej).
Problem polega na tym, że polecenie zostanie uruchomione dla każdego wybranego pliku. Istnieją trzy rozwiązania tego problemu:
singleinstance.exe
z modułu obsługi menu kontekstowego (proste). Ten program ma dla Ciebie opcję 2. Zbiera argumenty z różnych wywoływanych czasów, a następnie przekazuje je do żądanego polecenia. Dostępna jest opcja limitu czasu, która pomaga zbierać połączenia do odebrania. Kliknij link, aby uzyskać więcej informacji.Krok 1 Pobierz singleinstance.exe z programu obsługi menu kontekstowego (i dziękuję autorowi, z którym nie jestem związany)
Krok 2 (do porównania plików i folderów) : Utwórz plik z rozszerzeniem „.reg” o następującej treści (przykład dla Melduj z ikoną):
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"
Plik reg tworzy pozycję menu kontekstowego oznaczoną „Diff It!” dla wszystkich plików ( *
) i folderów ( Folder
). Linie zawierające znak Icon
można usunąć, jeśli nie chcesz ikony.
Dostosuj ścieżkę programu singleinstance.exe
i uruchom polecenie (tutaj C:\Program Files (x86)\Meld\Meld.exe
. Zwróć uwagę na odstępy między znakami backspace i cudzysłowy
Krok 3 Uruchom .reg
plik. Dwukrotne kliknięcie może działać, jeśli jesteś administratorem. W przeciwnym razie otwórz wiersz polecenia administratora w swoim folderze (w Eksploratorze: Plik> Otwórz polecenie> Otwórz polecenie jako administrator. Alt-F-M-A
). Po prostu wpisz nazwę .reg
pliku, aby dodać go do rejestru.
Otóż to.
(odinstaluj) Możesz usunąć klucze ręcznie z rejestru lub utworzyć .reg
plik o następującej treści:
Windows Registry Editor Version 5.00
[-HKEY_CLASSES_ROOT\*\shell\DiffIt_Files]
[-HKEY_CLASSES_ROOT\Folder\shell\DiffIt_Folders]
Alternatywa Użyj oprogramowania, aby dodać, edytować i usunąć pozycje menu kontekstowego, takie jak ContextEdit (ale nie można łatwo dodać ikony). W takim przypadku nie musisz uciekać przed ukośnikami i cudzysłowami, aby polecenie wyglądało następująco:
"c:\Bin\singleinstance.exe "%1" "C:\Program Files (x86)\Meld\Meld.exe" $files --si-timeout 400
singleinstance.exe
. Może nie jest kompatybilny z Windows 10.
Beyond Compare i WinMerge również mogą to zrobić, jeśli podczas instalacji włączysz Integrację Shell .
Możesz utworzyć plik wsadowy za pomocą polecenia niestandardowego, a następnie dodać do niego skrót shell:sendto
. Jako bonus, pozwala to również uniknąć zmiany rejestru.
Zainspirowany tą odpowiedzią na Przepełnienie stosu , na przykład:
1a. Utwórz nowy plik za pomocą:
@echo off
setlocal
start "Compare files" /B /MIN "C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\Common7\IDE\devenv.exe" /diff %2 %1 First:'%2' Second:'%1'
1b. Zmień polecenie start , np. Zmień odpowiednio ścieżkę do narzędzia porównywania i kolejne argumenty wiersza poleceń.
Zapisz plik wsadowy w trwałym katalogu, np C:\Users\You\Compare With My Tool.cmd
.
Utwórz skrót do Compare With My Tool.cmd
pliku w środku shell:sendto
. Nazwa skrótu jest widoczna w menu kontekstowym Wyślij do. Ikona pojawiająca się w powłoce jest ikoną skrótu, który można zmienić za pomocą menu właściwości pliku.
Wybierz dwa pliki do porównania, kliknij prawym przyciskiem myszy i wybierz Wyślij do> Porównaj z moim narzędziem (lub jakikolwiek skrót nazwałeś)