Windows'ta uzantısı olmayan dosyaları açmak için varsayılan program nasıl ayarlanır?


Yanıtlar:


148

Komut satırıyla:

assoc .="No Extension"
ftype "No Extension"="C:\path\to\my editor.exe" "%1"

Kredi vermek için, buradaki ve buradaki vim wikia'dan öğrendim.

Fazladan bilgi:

Bunun yerine "C:\path\to\...", aşağıdaki makrolar yararlı olabilir:

  • %SystemDrive% - sürücü camları C:\
  • %ProgramFiles% - Örneğin "C:\Program Files\"
  • %ProgramFiles(x86)% - Örneğin "C:\Program Files (x86)\"

Gerçi düzgün onlardan kaçmak gerekir:

ftype "No Extension"=^"^%ProgramFiles(x86)^%\Notepad++\notepad++.exe^" "%1"

Simgeyi .txt dosyalarıyla aynı olacak şekilde ayarlamak için (bunu yapmadım, çünkü dosyaların simgeleri otomatik olarak Notepad ++ dosyaları olarak gösteriliyordu):

assoc "No Extension"\DefaultIcon=%SystemRoot%\System32\imageres.dll,-102

Geri almak için , örneğin assoc /?veya ftype /?bilgileri okuyabilirsiniz :

ftype "No Extension"=
assoc "No Extension"\DefaultIcon=
assoc .=

4
Editörünüz boşluk içeren bir klasörün içindeyse ("C: \ Program Files" gibi) tırnak içine almanız gerektiğini unutmayın. ftype no_ext="C:\Program Files (x86)\Notepad++\notepad++.exe" "%1"
GuiSim

10
FWIW, Win7'de cmdYönetici olarak koşmanız gerekiyor
Cristi Diaconescu

1
Tamam, bir tane daha: yukarıdaki örnekte, no_extWindows Gezgini'nin bu tür dosyalar için 'Tür' sütununda göstereceği şeydir. Daha okunaklı bir tarifin daha iyi olacağını düşünüyorum, bu yüzden yukarıdaki komutların "No extension"yerine çift tırnak işareti dahil kullandım no_ext.
Cristi Diaconescu

3
Uzantı olmayan dosyalar için .txt dosyalarının simgesini şu şekilde belirlerim (işaretçi ve fikir için @grawity @ teşekkürler): assoc "No extension"\DefaultIcon=%SystemRoot%\system32\imageres.dll,-102
Cristi Diaconescu

2
Bu benim için Windows 10'da çalışmıyor. Bazı notlar: 1) assocPowerShell'de bulamazdı, bu yüzden cmdgereklidir. 2) Yönetici olarak çalıştırılmadığında hata atıyordu, ben de yönetici olarak koştum. Komut bir hata atmadan çalışır, ancak bir şey yapmış görünmüyor. Ben de sonradan yeniden başlattım.
JamesFaix

24

Windows IT profesyonellerinden :

Uzantılı normal dosyalar, ilişkili bir programa sahip olabilir, ancak uzantısı olmayan dosyalar için durum böyle değildir. Birini çift tıklatıp bir uygulamayı seçip her zaman bu uygulamayı kullanmak için kutuyu işaretlerseniz, bu uygulamayı yok sayılır ve bir dosyayı seçtiğinizde uygulamayı seçmeniz gerekir.

Kayıt defterini kullanarak bunu zorlayabilirsiniz:

  • Kayıt defteri düzenleyicisini başlatın (regedit.exe)
  • HKEY_CLASSES_ROOT’a taşı
  • Düzen menüsünden Yeni - anahtar
  • '.' Adını girin. ve Enter tuşuna basın (tırnak işareti yazmayın).
  • Yeni '' seçeneğini seçin. anahtar
  • (Varsayılan) değerine çift tıklayın
  • Açmak için kullanılan HKEY_CLASSES_ROOT ile değiştirin, örneğin notepad.exe uygulaması için NOTEPAD
  • Tamam'ı tıklayın

alt metin

Eğer şimdi uzantısı olmayan bir dosyaya çift tıklarsanız, seçilen uygulama ile açılacaktır.

Mevcut bir uygulamanın ne kullandığını kontrol etmek için HKEY_CLASSES_ROOT altındaki girişine bakın, örneğin HKEY_CLASSES_ROOT.doc Word.Document.8'i kullanır, bu nedenle varsayılan düzenleyiciniz olarak isterseniz, HKEY_CLASSES_ROOT'u (Varsayılan) Word.Document.8 olarak değiştirirsiniz.

Kayıt defterini düzenleme gereğini ortadan kaldıran herhangi bir yöntem aşağıdaki gibidir:

  • Explorer’ı açın - Görüntüle - Klasör Seçenekleri ... - Dosya Türleri - Yeni Tür:
  • Tür açıklaması: Metin (herhangi bir açıklama yazabilirsiniz)
  • İlişkili uzantı:. (sadece bir dönem)
  • İşlemler: - yeni ...
  • Eylem: açık
  • Eylem yapmak için kullanılan uygulama: c: \ winnt \ notepad.exe
  • Tamam'ı ve ardından tekrar Tamam'ı tıklayın

Yukarıdaki bilgilerin yanlış bir tarafı var. .Xml dosyalarım Notepad ++ ile açılacak şekilde ayarlandı, ancak .xml için (Varsayılan) girişi
xmlfile

Ne demek istediğini anlamadım, ama korkarım ki bir çözüm de bilemem ...
Ivo Flipse 19

3
@Piotr: Eğer varsayılan giriş HKCR\.xmlise xmlfile, kabuğun (Explorer) o tuşa gitmesi HKCR\xmlfileve bilgileri okuması gerektiği anlamına gelir .
Grawity

@Ivo Nasıl göründüğünü kontrol etmek için kayıt defterinde .txt girişine baktığımda (Notepad ++ tarafından açılan .txt dosyalarım var) varsayılan giriş "txtfile" değerine sahip. Bu kayıt defteri anahtarında hiçbir yerde Notepad ++ izi yok. Neyi kaçırıyorum?
Piotr Dobrogost

Şimdi Notepad ++ kullanmıyor mu demek istiyorsun? Kendini uzantıya biliyorsanız NotePad gibi ayarlayın veya oluşturun gerekir yana
İvo Flipse

14

Bu, bilinmeyen dosya uzantılarını açma Notepad'i almak için bir .reg dosyası örneğidir. .Reg uzantılı yeni bir metin dosyası oluşturun, bunu kesip yapıştırın, sonra çalıştırmak için çift tıklayın ve kayıt defterine yerleştirin.

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\Unknown\shell]
@="notepad"

[HKEY_CLASSES_ROOT\Unknown\shell\notepad]
@="Open with Notepad"

[HKEY_CLASSES_ROOT\Unknown\shell\notepad\command]
@="C:\\WINDOWS\\NOTEPAD.EXE %1"

Yukarıdaki bilgilerde bir sorun var. Yeni oluşturulan .reg dosyasını tıklattığımda "Belirtilen dosya bir kayıt defteri komut dosyası değil" hatası alıyorum.
Piotr Dobrogost

Özür dilerim Piotr, şimdi dene, üstüne bir satır daha ekledim.
Pauk

Bu, Explorer’da çalışır ancak bu konuda Explorer’la aynı şekilde davranması gereken (ve her zaman olan) Toplam Komutanda çalışmaz. Düşüncesi olan var mı?
Piotr Dobrogost

Windows'ta HERHANGİ bilinmeyen dosya için dosya ilişkilerini kurmanız gerektiğine dair fikir delilik. Aferin efendim!
Steven Penny

win7'de doğrulandı, çalışıyor. bu yüzden ayrı bir ./ anahtarına gerek yoktur.
jiggunjer

5

Bu çözümlerin çoğu benim için Windows 8.1'de işe yaramadı. Aşağıdakileri yaparak çalışmasını sağladım (bu, Windows 7 ve Windows 10 için de geçerli olmalı):

  1. Hasnj'in çözümünü izleyin: Önce yükseltilmiş bir komut penceresi açın ve yazın

    assoc .="No Extension"
    ftype "No Extension"="C:\path\to\my editor.exe" "%1"
    
  2. Regedit'i açın ve adresine gidin.

    HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.
    

    Sağ tıklayın ve UserChoicehenüz mevcut değilse, denilen yeni bir anahtar ekleyin .

  3. Yeni UserChoice anahtarında, sağ tıklayın ve yeni bir Dize Değeri oluşturun Progid. Değerini "Uzantı Yok" olarak ayarlayın (çift tırnak işareti olmadan).


Bu benim için Windows 8.1'de maalesef çalışmıyor. Sonra explorer.exe'yi öldürmeyi ve yeniden başlatmayı denedim - yapmam gereken başka bir şey var mı? HCU girdisinde sen Şimdi sahip belirtildiği OpenWithList, OpenWithProgidsve bir ben, eklendi UserChoice.
Conan

1
3. maddede olası anahtar hata No Extentionolmalı No Extension?
JosefZ

2

Pauk'un cevabı benim için işe yaramadı, onun yerine kullanmak zorunda kaldım:

Windows Kayıt Defteri Düzenleyicisi Sürüm 5.00

[HKEY_CLASSES_ROOT.] @ = "Uzantı yok"

[HKEY_CLASSES_ROOT \ Eklenti Yok]

[HKEY_CLASSES_ROOT \ Uzantı Yok \ Shell]

[HKEY_CLASSES_ROOT \ Uzantı Yok \ Shell \ Open]

[HKEY_CLASSES_ROOT \ Uzantı Yok \ Kabuk \ Aç \ Komut] @ = "C: \\ pathtoexe \\ yourexe.exe% 1"

Exe yolunda çift ters eğik çizgi dikkat edin.


Bu benim için işe yaradı. Anahtar çift ters eğik çizgi oldu.
ontherocks,

1

NirSoft FileTypesManager uygulamasını da kullanabilirsiniz :

FileTypesMan, Windows'un 'Klasör Seçenekleri'nde bulunan' Dosya Türleri 'sekmesine bir alternatiftir.

FileTypesMan ayrıca, her bir dosya türünün özelliklerini ve bayraklarını kolayca düzenlemenize ve ayrıca bir dosya türündeki eylemleri eklemenize, düzenlemenize ve kaldırmanıza olanak tanır.


1

Diğer cevaplar biraz modası geçmiş. İşte Windows 7 için çalışan birine bir link:

Dosya Uzantısı Olmayan Dosya Adları için Kabuk Uzantıları

Dosya uzantısı olmayan dosya adları için kabuk uzantıları, aşağıdakiler altında kaydedilebilir:

[HKEY_CLASSES_ROOT\.]
           For example, to associate a program (for example, Notepad.exe) to open all files with no extension, use the following registry keys:

[HKEY_CLASSES_ROOT\.]
@=""

[HKEY_CLASSES_ROOT\.\shell]

[HKEY_CLASSES_ROOT\.\shell\open]

[HKEY_CLASSES_ROOT\.\shell\open\command]
@="<path to notepad.exe> %1"
           Here is an alternative method:

[HKEY_CLASSES_ROOT\.]
@="NoExtFile"

[HKEY_CLASSES_ROOT\NoExtFile]

[HKEY_CLASSES_ROOT\NoExtFile\shell]

[HKEY_CLASSES_ROOT\NoExtFile\shell\open]

[HKEY_CLASSES_ROOT\NoExtFile\shell\open\command]
@="<path to notepad.exe> %1"

Lütfen gelecekte, sadece bir bağlantı sağlamak yerine, sitede en alakalı parçaları buraya ekleyin. Teşekkürler.
Saat

1

Bunu henüz kimsenin söylemediğine inanamıyorum. Kabul edilen cevabın dediği gibi metin editörünüz için bir yol belirtmeniz gerekmez.

Aşağıdakileri bir admin komut isteminde çalıştırın:

assoc .=txtfile

0

IE9'da PDF dosyalarını açarken sorun yaşıyorum, evet IE9 (eski program için gerekli). PDF dosyaları Javascript tarafından oluşturulan ve geri olarak tarayıcıda atılan edilir application / pdf iyidir içerik türü, fakat dosya adı "hiçbiri" kötü,. IE8 , Kaydet, İptal et ve Aç'ı seçmenizi sağlar ve MimeType'ı anlar . nedense, IE9 değil. Bu yüzden PDF okuyucu ile açmak için her zaman seçmek zorundasınız.

Benim çözümüm: bu gönderiyi kullanarak uzantı olmayan dosya için bir dosya ilişkisi oluşturdum. ilk önce onu iyi çalışan ancak bir dosyayı uzantı olmadan açabilme olanaklarını sınırlayan Acrobat Reader ile eşledim. Bu yüzden, uzantı olmayan dosyalar için Internet Explorer'ı varsayılan görüntüleyicim olarak seçtim . Bu şekilde eğer IE açabilir veya bir eklenti veya başka bir dernek bilirse çalışacaktır.

Bunu masaüstümdeki "none1" ve "none2" dosyalarıyla test ettim. "none1" "merhaba dünya" yazan bir metin dosyasıdır. "none2" bir pdf dosyasıdır.


İşte benim .reg dosyam :

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\.]
@="htmlfile"

[HKEY_CLASSES_ROOT\.\PersistentHandler]
@="{eec97550-47a9-11cf-b952-00aa0051fe20}"

- Ekran görüntüsüne bakın

http://postimg.org/image/xtklrzcoz/

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.