Jak ustawić domyślny program do otwierania plików bez rozszerzenia w systemie Windows?


Odpowiedzi:


148

Za pomocą wiersza poleceń:

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

Na uznanie nauczyłem się tego od vim wiki tutaj i tutaj

Informacje dodatkowe:

Zamiast tego "C:\path\to\..."przydatne mogą być następujące makra:

  • %SystemDrive% - Windows Drive jest zainstalowany, tj C:\
  • %ProgramFiles% - np "C:\Program Files\"
  • %ProgramFiles(x86)% - np "C:\Program Files (x86)\"

Musisz jednak odpowiednio ich uciec:

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

Aby ustawić ikonę tak, aby była taka sama jak pliki .txt (nie zrobiłem tego, ponieważ automatycznie powoduje, że ikony plików są wyświetlane jako pliki Notepad ++):

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

Aby cofnąć, możesz przeczytać informacje assoc /?lub ftype /?, np .:

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

4
Zauważ, że jeśli twój edytor znajduje się w folderze zawierającym spację (np. „C: \ Program Files”), musisz umieścić go w cudzysłowie. ftype no_ext="C:\Program Files (x86)\Notepad++\notepad++.exe" "%1"
GuiSim,

10
FWIW, w Win7 musisz uruchomić cmdjako Administrator
Cristi Diaconescu,

1
OK, jeszcze jedno: w powyższym przykładzie no_extEksplorator Windows wyświetli w kolumnie „Typ” dla takich plików. Myślę, że bardziej czytelny opis byłby lepszy, więc użyłem "No extension", w tym podwójnych cudzysłowów, zamiast no_extw powyższych poleceniach.
Cristi Diaconescu

3
Oto jak ustawiłem ikonę plików .txt dla plików bez rozszerzenia (dzięki @grawity za wskaźnik i pomysł): assoc "No extension"\DefaultIcon=%SystemRoot%\system32\imageres.dll,-102
Cristi Diaconescu

2
To nie działa dla mnie w systemie Windows 10. Kilka uwag: 1) Nie można go znaleźć assocw PowerShell, więc cmdjest to wymagane. 2) Zgłaszał błąd, gdy nie działał jako administrator, więc działałem jako administrator. Komenda działa bez zgłaszania błędu, ale wydaje się, że nic nie zrobiła. Potem zrestartowałem się.
JamesFaix,

24

Z systemu Windows IT pro :

Normalne pliki z rozszerzeniem mogą mieć skojarzony program, jednak nie jest tak w przypadku plików, które nie mają rozszerzenia. Po dwukrotnym kliknięciu jednego i wybraniu aplikacji i zaznaczeniu pola wyboru, aby zawsze korzystać z tej aplikacji, jest ona ignorowana i za każdym razem, gdy wybierasz plik, musisz wybrać aplikację.

Możesz to wymusić za pomocą rejestru:

  • Uruchom edytor rejestru (regedit.exe)
  • Przejdź do HKEY_CLASSES_ROOT
  • Z menu Edycja wybierz Nowy - klucz
  • Wpisz nazwę „.” i naciśnij Enter (nie wpisuj cudzysłowów)
  • Wybierz nowy „.” klawisz
  • Kliknij dwukrotnie wartość (Domyślna)
  • Zmień na HKEY_CLASSES_ROOT użyty do otwarcia, np. NOTEPAD dla aplikacji notepad.exe NOTEPAD
  • Kliknij OK

alternatywny tekst

Jeśli teraz dwukrotnie klikniesz plik bez rozszerzenia, otworzy się on przy wybranej aplikacji.

Aby sprawdzić, jaka istniejąca aplikacja jest używana, spójrz na jej wpis pod HKEY_CLASSES_ROOT, np. HKEY_CLASSES_ROOT.doc używa Word.Document.8, więc jeśli chcesz, aby to był domyślny edytor, zmień HKEY_CLASSES_ROOT. (Domyślnie) na Word.Document.8.

Każda metoda, która pozwala uniknąć edycji rejestru, jest następująca:

  • Otwórz Eksploratora - Widok - Opcje folderów ... - Typy plików - Nowy typ:
  • Opis typu: Tekst (dowolny opis, który można wpisać)
  • Powiązane rozszerzenie:. (tylko kropka)
  • Działania: - nowe ...
  • Działanie: otwórz
  • Aplikacja użyta do wykonania akcji: c: \ winnt \ notepad.exe
  • Kliknij OK, a następnie OK ponownie

Coś jest nie tak z powyższymi informacjami. Mam pliki .xml ustawione do otwierania za pomocą Notepad ++, ale pozycja (Domyślna) dla .xml jest ustawiona na plik xml ...
Piotr Dobrogost

I naprawdę nie rozumiem co masz na myśli, ale obawiam się, że nie wiedziałby rozwiązanie albo ...
Ivo Flipse

3
@Piotr: Jeśli domyślnym wpisem HKCR\.xmljest xmlfile, oznacza to, że powłoka (Explorer) musi przejść do HKCR\xmlfilei odczytać informacje z tego klucza.
grawity

@Ivo Gdy zajrzę do rejestru .txt w rejestrze, aby sprawdzić, jak to wygląda (mam pliki .txt otwarte przez Notepad ++), domyślny wpis ma wartość „txtfile”. Nigdzie w tym kluczu rejestru nie ma śladu Notepad ++. czego mi brakuje?
Piotr Dobrogost

Masz na myśli, że teraz nie używa Notepad ++? Ponieważ powinieneś być w stanie ustawić go jako NotePad, jeśli znasz rozszerzenie lub sam je utworzysz
Ivo Flipse

14

To jest przykład pliku .reg, za pomocą którego Notepad otwiera nieznane rozszerzenia plików. Utwórz nowy plik tekstowy z rozszerzeniem .reg, wytnij i wklej go, a następnie kliknij dwukrotnie, aby uruchomić, a następnie umieści go w rejestrze.

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"

Coś jest nie tak z powyższymi informacjami. Po kliknięciu nowo utworzonego pliku .reg pojawia się błąd „Podany plik nie jest skryptem rejestru”.
Piotr Dobrogost

Przepraszam Piotr, spróbuj teraz, dodałem kolejną linię na jej szczycie.
Pauk

Działa to w Eksploratorze, ale nie działa w Total Commander, który powinien zachowywać się (i zawsze ma) identyczny z Eksploratorem w tym zakresie. jakieś pomysły?
Piotr Dobrogost

Pomysł, że powinieneś ustawić powiązania plików dla KAŻDEGO nieznanego pliku w systemie Windows, jest szalony. Dobra robota!
Steven Penny

sprawdzone w win7, działa. więc nie potrzeba osobnego klucza ./.
jiggunjer

5

Większość tych rozwiązań nie działała dla mnie w systemie Windows 8.1. Udało mi się to, wykonując następujące czynności (powinno to również działać w systemie Windows 7 i Windows 10):

  1. Postępuj zgodnie z rozwiązaniem hasnj: Najpierw otwórz okno poleceń z podwyższonym poziomem uprawnień i wpisz

    assoc .="No Extension"
    ftype "No Extension"="C:\path\to\my editor.exe" "%1"
    
  2. Otwórz regedit i przejdź do

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

    Kliknij prawym przyciskiem myszy i dodaj nowy klucz o nazwie, UserChoicejeśli jeszcze nie istnieje.

  3. W nowym kluczu UserChoice kliknij prawym przyciskiem myszy i utwórz nową wartość ciągu o nazwie Progid. Ustaw jego wartość na „Brak rozszerzenia” (bez podwójnych cudzysłowów).


Niestety nie działa to w systemie Windows 8.1. Próbowałem następnie zabić i zrestartować explorer.exe - czy jest coś jeszcze, co muszę zrobić? We wpisie HCU wspomniałeś mam teraz OpenWithList, OpenWithProgidsa jeden dodałem UserChoice.
Conan,

1
Możliwy kluczowy błąd w artykule 3. No Extention powinien być No Extension?
JosefZ,

2

Odpowiedź Pauka nie zadziałała, musiałem zamiast tego użyć:

Edytor rejestru systemu Windows w wersji 5.00

[HKEY_CLASSES_ROOT.] @ = „Brak rozszerzenia”

[HKEY_CLASSES_ROOT \ Bez rozszerzenia]

[HKEY_CLASSES_ROOT \ Bez rozszerzenia \ Shell]

[HKEY_CLASSES_ROOT \ No Extension \ Shell \ Open]

[HKEY_CLASSES_ROOT \ No Extension \ Shell \ Open \ Command] @ = "C: \\ pathtoexe \\ yourexe.exe% 1"

Zwróć uwagę na podwójne ukośniki odwrotne na ścieżce exe.


Ten działał dla mnie. Kluczem były podwójne ukośniki odwrotne.
ontherocks

1

Można również użyć NirSoft FileTypesManager :

FileTypesMan jest alternatywą dla karty „Typy plików” w „Opcjach folderów” systemu Windows.

FileTypesMan umożliwia także łatwą edycję właściwości i flag każdego typu pliku, a także pozwala dodawać, edytować i usuwać akcje w typach plików.


1

Pozostałe odpowiedzi są nieco nieaktualne. Oto link do tego, który działa w systemie Windows 7:

Rozszerzenia powłoki dla nazw plików bez rozszerzenia pliku

Rozszerzenia powłoki dla nazw plików bez rozszerzenia mogą być zarejestrowane w następujący sposób:

[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"

W przyszłości prosimy o dołączenie na stronie najbardziej odpowiednich części, a nie tylko linku. Dzięki.
slhck

1

Nie mogę uwierzyć, że nikt tego jeszcze nie powiedział. Nie musisz podawać ścieżki do edytora tekstu, jak mówi zaakceptowana odpowiedź.

Po prostu uruchom następujące polecenie w wierszu polecenia administratora:

assoc .=txtfile

0

Mam problem z otwieraniem plików PDF w IE9, tak IE9 (wymagany dla starego programu). Pliki PDF są generowane przez Javascript i wyrzucane z powrotem do przeglądarki jako typ zawartości aplikacji / pdf , co jest dobre, ale nazwa pliku „none” , co jest złe. IE8 pozwala wybrać Zapisz, Anuluj i Otwórz oraz rozumie MimeType . z jakiegoś powodu IE9 nie. Musisz więc za każdym razem wybierać, aby otworzyć go za pomocą czytnika plików PDF.

Moje rozwiązanie: korzystając z tego postu utworzyłem powiązanie pliku bez rozszerzenia. najpierw zmapowałem go do programu Acrobat Reader , który działa dobrze, ale ogranicza możliwości otwierania pliku bez rozszerzenia. Wybrałem więc Internet Explorera jako domyślną przeglądarkę plików bez rozszerzenia. W ten sposób, jeśli IE może go otworzyć lub zna wtyczkę lub inne powiązanie, będzie działać.

Przetestowałem to z plikami „none1” i „none2” na pulpicie. „none1” to plik tekstowy z napisem „hello world”. „none2” to plik pdf.


Oto mój plik .reg :

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\.]
@="htmlfile"

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

- Zobacz zrzut ekranu

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

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.