Yanıtlar:
Diff-ext'e ihtiyacınız var gibi görünüyor !
Bu kabuk uzantısı (diff-ext), aynı dizinde 2 veya 3 dosya (araca bağlı olarak) için dosya karşılaştırma aracını başlatmayı veya daha sonra karşılaştırma için bir dosyayı "kaydetmeyi" mümkün kılar. Karşılaştırma aracı için harici en son kullanılan (MRU) dosya listesi olarak işlev görür.
KDiff3 ile kullanıyorum , ancak sayfada kullanılabilecek diğer farklı araçlar var.
Kdiff3
=> Compare
), bu yüzden hızlı ve kolay bir şeye ihtiyacınız varsa, bu yeterli olabilir.
İşte benim özel bir komut (Meld çağırmak gibi) ve iki dosya diff çalıştırmak için bir Sağ Tıklama bağlam menü girişi eklemek için benim çözüm.
Arka Plan Basit kayıt menüsü girişleri Windows kaydına (regedit) kolayca eklenebilir: manuel olarak veya bir .reg dosyası oluşturarak (aşağıdaki örneğe bakın).
Sorun, komutun seçtiğiniz her dosya için çalıştırılmasıdır. Bunu çözmek için üç çözüm vardır:
singleinstance.exe
gelen bağlam menüsünü-işleyici (basit). Bu program sizin için seçenek 2'yi yapar. Bağımsız değişkenler çağrıldığı farklı zamandan toplar ve bunları istediğiniz komuta iletir. Toplanacak çağrıların toplanmasına yardımcı olmak için bir zaman aşımı seçeneği mevcuttur. Daha fazla bilgi için bağlantıyı takip edin.Adım 1 singleinstance.exe dosyasını bağlam-menü işleyicisinden indirin (ve ilişkili olmadığım yazara teşekkür edin)
Adım 2 (dosya ve klasör karşılaştırması için) : Aşağıdaki içeriğe sahip ".reg" uzantılı bir dosya oluşturun (İkonlu Meld örneği):
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 dosyası "Diff It!" Etiketli bir bağlam menüsü girişi oluşturur. tüm dosyalar ( *
) ve Klasörler ( Folder
) için. Icon
Bir simge istemiyorsanız, simgesini içeren satırlar kaldırılabilir.
Programın yolunu singleinstance.exe
ve komut çalıştırmasını uyarlayın (burada C:\Program Files (x86)\Meld\Meld.exe
. Geri boşlukların ve tırnak işaretlerinin kaçışını not edin
Adım 3.reg
Dosyayı çalıştırın . Yönetici iseniz çift tıklamak işe yarayabilir. Aksi takdirde klasörünüzde bir yönetici komut istemi açın (explorer'da: Dosya> Komutu Aç> Komutu yönetici olarak aç. Veya Alt-F-M-A
). .reg
Kayıt defterine eklemek için dosyanın adını yazmanız yeterlidir .
Bu kadar.
(kaldırma) Kayıt defterindeki anahtarları manuel olarak silebilir veya .reg
aşağıdaki içeriğe sahip bir dosya oluşturabilirsiniz :
Windows Registry Editor Version 5.00
[-HKEY_CLASSES_ROOT\*\shell\DiffIt_Files]
[-HKEY_CLASSES_ROOT\Folder\shell\DiffIt_Folders]
Alternatif ContextEdit gibi bağlam menüsü girişlerini eklemek-düzenlemek-kaldırmak için bir yazılım kullanın (ancak kolayca simge ekleyemezsiniz). Bu durumda, komutun şöyle görünmesi için eğik çizgilerden ve tırnak işaretlerinden kaçmanıza gerek yoktur:
"c:\Bin\singleinstance.exe "%1" "C:\Program Files (x86)\Meld\Meld.exe" $files --si-timeout 400
singleinstance.exe
. Belki Windows 10 ile uyumlu değildir.
Karşılaştırma ve WinMerge ötesinde Shell Integration özelliğini etkinleştirirseniz de bunu yapabilirsiniz .
Özel komutla bir toplu iş dosyası oluşturabilir, sonra içine bir kısayol ekleyebilirsiniz shell:sendto
. Bonus olarak, kayıt defterini de değiştirmekten kaçınır.
İlham alan Bu Yığın Taşması cevabından , örneğin:
1 A. Şununla yeni bir dosya oluşturun:
@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. Değişim start komutunu örneğin sizin karşılaştırmak aracı ve uygun olarak daha sonraki komut satırı argümanları yolunu değiştirmek.
Toplu iş dosyasını kalıcı bir dizine kaydedin, örn C:\Users\You\Compare With My Tool.cmd
.
Compare With My Tool.cmd
İçinde dosyanız için bir kısayol oluşturun shell:sendto
. Kısayolun adı, Gönder içeriği menüsünde göreceğiniz addır. Kabukta görünen simge kısayolun simgesidir ve bunu dosya özellikleri menüsünü kullanarak değiştirebilirsiniz.
Karşılaştırılacak iki dosyayı seçin, sağ tıklayın ve Gönder> Aracımla Karşılaştır'ı (veya kısayolunuzu adlandırdığınız her şeyi) seçin