.Reg dosyasını kullanarak Windows dosya ilişkilendirmesini silme


12

Soru: Bir .reg dosyası kullanarak bir dosya türü ilişkilendirmesini nasıl tamamen kaldırabilirim? Örneğin silmeyi denedim HKEY_CLASSES_ROOT\myextension_auto_fileama görünüşe göre bu yeterli değil.

Arka plan: Windows Vista'da, bir dosya türünü her zaman geçirilen bazı parametrelere ihtiyaç duyan başka bir uygulama ile başarıyla ilişkilendiren bir .reg dosyam var (bu yüzden sadece sağ tıklama ilişkilendirmesi yeterli değildi; bkz. .G dosyası ). Ancak, .reg dosyası herhangi bir nedenle sadece önceden ilişkilendirilmemiş dosya uzantılarıyla çalıştığından, önce belirli bir dosya türü ilişkilendirmesini silmek için ona bazı komutlar eklemek istiyorum.

Yanıtlar:


18

HKEY_CLASSES_ROOTSoruda o reg dosyasıyla yazdığınızı görüyorum . Bu kovan HKEY_LOCAL_MACHINE\Software\Classesve öğelerinin birleşmiş görünümüdür HKEY_CURRENT_USER\Software\Classes.

Dosyanızın yalnızca önceden ilişkilendirilmemiş dosyalar için çalışmasının nedeni, ilgili anahtardaki (sistem varsayılanları ve tüm kullanıcı ayarları için kovan) HKEY_CLASSES_ROOT yeniden yönlendirmeye yazmasıdır HKEY_LOCAL_MACHINE. Ancak, HKEY_CURRENT_USER(kullanıcı başına ayarları içeren) dosya ilişkilendirme ayarları sistem varsayılanlarını geçersiz kıldığından bir sorunla karşılaşırsınız .

Ayrıca, uzantı "varsayılan programlar" ilişkilendirmesi tarafından denetleniyorsa, dosya ilişkilendirme bilgileri içinde depolanır HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\<.ext>. Anahtarın var olup olmadığını kontrol ederek uzantınızın bu ilişkilendirmeye sahip olup olmadığını kontrol edebilirsiniz.

Sen bu anahtarlar için bunu çoğaltarak, daha önce ilişkili dosyalar dahil herhangi bir dosya için işinize .reg düzenleyebilirsiniz hem HKEY_LOCAL_MACHINE ve HKEY_CURRENT_USER. Benzer şekilde, her iki kovandaki ( FileExtskonum dahil ) uygun anahtarları silerek ilişkilendirmeyi kaldırabilirsiniz .

Belirli bir uzantının ilişkilendirmesini silmek için çalışan bir .reg dosyası şuna benzer ( .blergvarsayımları siler ):

Windows Registry Editor Version 5.00

; Created with Default Programs Editor
; http://defaultprogramseditor.com/

; Delete Extension
[-HKEY_LOCAL_MACHINE\Software\Classes\.blerg]
[-HKEY_CURRENT_USER\Software\Classes\.blerg]
[-HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.blerg]

Bununla birlikte , kayıt defteri iç öğeleri ve Windows dosya ilişkilendirmesinin çeşitli gizemli yönleri hakkında kendinizi eğitmek istemiyorsanız, bu değişiklikleri yapmak için Varsayılan Programlar Düzenleyicisi'ni kullanmanızı öneririm . ihtiyaçlarınızı tam olarak karşılayan bir .reg dosyası.

Varsayılan Programlar Düzenleyicisi uzantıyı silin ve .reg dosyası olarak kaydedin

Sizin durumunuzda, o File Type Settingszaman tıklamak kadar basit Delete an extension. Uzantıyı seçin ve kayıt defterine kaydetmek yerine Delete Extensiondüğmedeki küçük oka basın ve Tamam'ı tıklatın Save to .reg file.... Bu, diğer makinelere kaydedebileceğiniz veya dağıtabileceğiniz bu eylemin eksiksiz ve yorumlanmış bir .reg dosyasını oluşturur.


1
Ne müthiş, iyi açıklanmış bir cevap. Teşekkür ederim Factor Mystic - bu bir cazibe gibi çalışıyor!
Philipp Lenssen

1
Varsayılan Programlar Düzenleyicisi için +1. Birkaç cevapta bahsedildi, ama önce burada buldum. Çok daha basit ve kurulum için bir yardımcı program olmasına rağmen, işine çok odaklanmış.
goodeye

3

Bu sorunun içinde şüpheli olan birçok varsayım var gibi görünüyor.

İlk olarak, dosya ilişkilendirmesini kaldırmak için neden bir .reg dosyası kullanmak istiyorsunuz? Neden sadece kullanıcı arayüzünden değil? Bunu birçok iş istasyonunda mı yapıyorsunuz?

İkinci olarak, bağlandığınız .reg dosyasının neden daha önce ilişkilendirilmemiş dosya uzantılarıyla çalışacağını göremiyorum.

Her neyse, bir .reg dosyası kullanarak bir anahtarı silmek için, anahtar adına bir tire işareti önek eklersiniz. Bir değeri kaldırmak için değer işaretine ayarlayın. Hepsi burada hecelendi .

Bir dosya ilişkilendirmesini kaldırmak için dosya uzantısı anahtarını silmeniz gerekir, örn.

[-HKEY_CLASSES_ROOT\.dat]

Bu tek başına dosyanın açılmasını engeller, ancak tamlık için dosya uzantısı anahtarının altındaki varsayılan değer olan tür adının anahtarını da kaldırmanız gerekir. Misal:

[-HKEY_CLASSES_ROOT\dat_auto_file]

Teşekkürler Itsadok. Evet, ideal olarak ben bir .reg dosyası üzerinden yapmaya çalışıyorum çünkü sonucu dağıtmak isteyebilirsiniz (ki bu bir Chrome App Shortcut / Ajax tabanlı metin editörü localhost + sunucu üzerinde çalışan). Çözümünüz derneğin bazı izlerini bırakıyor gibi görünüyor, ancak Factor Mystic bunu çözdü.
Philipp Lenssen
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.