Jak mogę dodać element do „nowego” menu kontekstowego?

117

Po kliknięciu dowolnego miejsca prawym przyciskiem myszy pojawia się opcja dodania nowego pliku z określonym rozszerzeniem. Chciałbym dodać niestandardowe pliki do tego menu, aby na przykład kliknąć prawym przyciskiem myszy i utworzyć nowy plik PHP.

Jak mogę to zrobić?

Theta30
źródło
wypróbuj nowe narzędzie do edytowania
Ravi Patel
2
Jeśli masz problemy z dodaniem całkowicie nowego rozszerzenia pliku (zamiast zwykłego dodawania NullFile/ FileNamedo istniejącego wpisu) w Windows 7, zobacz inne pytanie ... superuser.com/questions/588647/
MrWhite
2
Witryna Ramesha jest dobrym źródłem do ręcznego dodawania wpisów.
Synetech,

Odpowiedzi:

64

Aby dodać wybrane rozszerzenia do listy: utwórz plik, dodaj treść poniżej, zapisz go jako cokolwiek.reg i uruchom.

Uwaga : Zamień .png na rozszerzenie pliku, które chcesz dodać i zamień cokolwiek na cokolwiek chcesz.

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\.png\ShellNew]
"NullFile"=""

Źródło

th3dude
źródło
4
Proszę rozważyć zgniliznę linku .
Mehper C. Palavuzlar,
1
Dobra decyzja. Odpowiedź zredagowana :)
th3dude
1
+1, to działa. Jak możemy utworzyć niestandardową nazwę pliku, taką jak „index.php” zamiast „New PHP file.php”?
fedmich
1
Musiałem uruchomić .regplik dwa razy, aby działał. Dziękuję za tę odpowiedź.
Akash
3
Nie działało dla mnie w systemie Windows 10, 1709 :( Zrestartowałem eksploratora i zrestartowałem maszynę nawet, wciąż ...
Arete
66

Jeszcze jedna rzecz:

Jeśli chcesz dodać plik jako szablon dla nowego elementu, użyj

Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\.html\ShellNew]
"FileName"="html.html"

a następnie umieść plik (html.html) w:

  • Dla własnego profilu: %Userprofile%\Templates
  • Dla wszystkich użytkowników: %Allusersprofile%\Templates
  • Dla całego systemu: %Systemroot%\ShellNew

Jeszcze jeden szczegół: jeśli chcesz usunąć wpis „Windows Live Call” , użyj:

[-HKEY_CLASSES_ROOT\.wlcshrtctv2\LiveCall\ShellNew]
Eduardo Molteni
źródło
Fajna myśl, aby móc użyć pliku jako szablonu!
Clay Nichols
1
Jeśli ktoś się zastanawia, FileNamewydaje się, że wpis zastępuje NullFilewpis wymieniony w innych odpowiedziach. Wygląda na to, że nie musisz usuwać istniejącej NullFilewartości. Jednak posiadanie obu wpisów wydaje się wprowadzać w błąd niektóre narzędzia innych firm, takie jak ShellMenuNew firmy NirSoft . (Windows 7)
MrWhite
2
Nie sądzę, że musi być w szablonach% Userprofile% itp., Jeśli podasz całą nazwę ścieżki do pliku.
jiggunjer
3
Co mam zrobić, jeśli chcę utworzyć dwa skróty do dwóch różnych szablonów dla tego samego programu? Na przykład użyłem tej metody doskonale, aby utworzyć pozycję menu kontekstowego dla szablonu „artykuł” dla TeXworks. Chcę teraz również dodać szablon „zmodyfikowany_artykul” dla TeXworks. Czy mogę dodać oba elementy do menu kontekstowego? Dzięki!
Prahar
3
W systemie Windows 8.1 wymienione foldery szablonów nie działają. Pojawia się błąd „odmowa dostępu”. Tam, gdzie powinny być szablony, jest teraz folder skrótów nazywany „skrzyżowaniem” - i jest to ukryty plik „specyficzny dla systemu operacyjnego”. Dlatego folder szablonów został przeniesiony. Zobacz ten link do nowego mapowania ( jimmah.com/vista/Security/junctions.aspx ). Najwyraźniej teraz jest to C:\Users\USER_NAME\AppData\Roaming\Microsoft\Windows\Templatesna przykład twój własny profil.
Gabriel Staples
19

ShellNewHandler pomógł mi przywrócić menu powłoki Windows 7> Nowy> wpis dokumentu txt.

wprowadź opis zdjęcia tutaj

  1. Odznacz .txt
  2. Kliknij Zastosuj
  3. Sprawdź .txt
  4. Kliknij Zastosuj
Eric
źródło
2
Czy to pozwala dodawać nowe wpisy? Ze zrzutów ekranu i opisu nie wydaje się.
MrWhite
2
to NIE pozwala dodawać wpisów ... więc jest to całkowicie nieistotne dla tematu.
Eric Sebasta,
18

Wejdź do edytora rejestru i rozwiń HKEY_CLASSES_ROOT

Przejdź do. File_extention

i utwórz klucz o nazwie ShellNew

Wewnątrz tego utwórz nowy klucz łańcucha o nazwie NullFile bez wartości

Na przykład, gdybym chciał utworzyć nowy wpis dla pustego obiektu .wil *, utworzyłbym

[HKEY_CLASSES_ROOT\.wil\ShellNew]
NullFile = ""

* jeśli rozszerzenie pliku, takie jak .wil, nie istnieje, najpierw utworzę plik z tym rozszerzeniem i kliknę go dwukrotnie. Otwórz go za pomocą wybranego przeze mnie programu, ponieważ spowoduje to utworzenie innych potrzebnych kluczy rejestru i ułatwi pracę.

William Hilsum
źródło
2
Nie działa w systemie Windows 10, również znalazłem ten artykuł, ale ten też nie działa: askvg.com/how-to-add-remove-items-from-new-menu-in-windows
Neo
5

Aby usunąć wpisy z listy, oto program, który pozwala włączyć / wyłączyć wpisy z GUI. Znacznie łatwiejsze niż przeszukiwanie rejestru!

Niestety nie pozwala na dodawanie wpisów.

Blorgbeard
źródło
Właśnie tego potrzebowałem, dzięki! Zasadniczo wszystko, czego naprawdę potrzebujesz, to „Nowy dokument tekstowy” ...
Andrew
5

Żadna z tych metod nie działała dla mnie w systemie Windows 10.

W końcu znalazłem tę stronę, która wyjaśniła, że ​​musisz odwoływać się do innego klucza zawierającego nazwę i domyślną ikonę.

Jest to minimum potrzebne do utworzenia wpisu, ale nie będzie miało ikony.

UWAGA: trzeci wpis dotyczy nowego pliku tekstowego klucza, do którego odwołuje się wartość (Domyślna) pliku .txt

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\.txt]
@="textfile"

[HKEY_CLASSES_ROOT\.txt\ShellNew]
"NullFile"=""

[HKEY_CLASSES_ROOT\textfile]
@="Text Document"

Oto dwa sposoby określenia ikony

  1. Powiedz Eksploratorowi, aby użył domyślnej ikony dla typu zawartości:
[HKEY_CLASSES_ROOT\.txt] 
@="textfile" 
"Content Type"="text/plain"
"PerceivedType"="text"

lub 2. Podaj ikonę w pliku tekstowym w taki sposób:

[HKEY_CLASSES_ROOT\textfile\DefaultIcon]
@="%SystemRoot%\\system32\\imageres.dll,-102"

Aha, a przynajmniej dla mnie wystarczy zamknięcie i ponowne otwarcie Eksploratora (pamiętaj, aby zamknąć wszystkie instancje), aby ponownie załadować menu kontekstowe. Nie musisz ponownie uruchamiać całej maszyny.

podwładny
źródło
Na mojej stronie „Notepad ++” zmienił HKEY_CLASSES_ROOT\.txtsię @="Notepad++_file". Więc dodanie HKEY_CLASSES_ROOT\Notepad++_filez @="Textfile"załatwiło sprawę. Dzięki, dobre znalezisko!
Tino
4

Nie powiedziałeś, jakiej wersji systemu Windows używasz - jeśli jest to XP, możesz pobrać TweakUI PowerToy od Microsoft (również w Wikipedii ). Kliknij Szablony i dodaj / usuń typy plików z treścią twojego serca. Oto jak to wygląda: wprowadź opis zdjęcia tutaj

Użytkownik5910
źródło
3

Wygląda na to, że inne rozwiązania tutaj są nieaktualne. Przynajmniej żaden z nich nie pracował dla mnie w systemie Windows 10 V 1709 Budowanie 16299.192 (. Edycja : nadal działa w wersji 1809). Zrobiłem kilka testów na maszynie wirtualnej i to działa w systemie Windows 10 1709, od 2018.01.12:

Dodaj plik rejestru:

Utwórz nowy plik rejestru o następującej treści:

Windows Registry Editor Version 5.00

; new file type
[HKEY_CLASSES_ROOT\.xyz]
@="xyz"

; template
[HKEY_CLASSES_ROOT\.xyz\ShellNew]
"FileName"=""

; file type name
[HKEY_CLASSES_ROOT\xyz]
@="XYZ test file"

Zastąp xyzrozszerzenie, które chcesz dodać. I zamień XYZ test filena nazwę rozszerzenia pliku (np. Plik .scss byłby „niesamowicie składniowym plikiem arkusza stylów”). Jeśli chcesz użyć pliku szablonu, zobacz wyjaśnienie poniżej.

Może być konieczne zrestartowanie Eksploratora Windows po dodaniu pliku rejestru. Możesz uruchomić ponownie explorer.exe, wpisując następujące polecenie w CMD:

taskkill /f /im explorer.exe & start explorer.exe

wprowadź opis zdjęcia tutaj

wprowadź opis zdjęcia tutaj


Objaśnienie kodu:

[HKEY_CLASSES_ROOT\.xyz]
@="xyz"

Utworzy nowy typ pliku w rejestrze.

[HKEY_CLASSES_ROOT\.xyz\ShellNew]
"FileName"=""

Umożliwi to użycie szablonu dla wszystkich nowych plików w tym formacie. Możemy na przykład napisać "template.xyz"i utworzyć nowy plik o nazwie „template.xyz” i użyć go jako szablonu. Dlatego za każdym razem, gdy utworzysz nowy plik, będzie on zapełniany gotową treścią. Jak Eduardo Molteni wspomniane ścieżki dla plików szablonów są: %Userprofile%\Templates, %Allusersprofile%\Templateslub dla całego systemu %Systemroot%\ShellNew. W tym przykładzie nie określono żadnej nazwy szablonu, ponieważ nie chcemy jej używać.

[HKEY_CLASSES_ROOT\xyz]
@="XYZ test file"

Będzie to nazwa typu pliku zarówno dla menu kontekstowego, jak i nowo utworzonych plików. O ile wiem, pozostawienie tej wartości pustej nie działa.

Ikona:

Ikona jest dodawana, gdy system Windows skojarzy oprogramowanie z typem pliku.

Grań
źródło
1
Świetna odpowiedź, dzięki. Uwaga: w systemie Windows 10 %userprofile%\Templatesprzeprowadził się %appdata%\Microsoft\Windows\Templatesi %Allusersprofile%\Templatesprzeprowadził do%programdata%\Microsoft\Windows\Templates
TheImirOfGroofunkistan
2

Utwórz zwykły plik tekstowy i dodaj do niego następujący wiersz:


Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\.txt\ShellNew]
"NullFile"=""

Zapisz plik i zmień nazwę jego rozszerzenia na plik .reg. Np. „MyNewItem.reg”. Pamiętaj, aby zmienić nazwę rozszerzenia, a nie tylko nazwę pliku, jak (myNewItem.reg.txt)

Kliknij dwukrotnie plik, aby zaktualizować rejestr.

Kolejny krok, a to bardzo ważne, uruchom ponownie komputer bezpośrednio. Więc NIE próbuj otwierać menu zawartości, aby zobaczyć, czy to już działa! Najpierw uruchom ponownie komputer.

Jeśli otworzysz menu zawartości, aby sprawdzić, czy Twój niesamowity nowy element jest już na liście, rejestr zostanie przywrócony ...

Wypróbuj również ten program: http://sourceforge.net/projects/shellnewhandler/

Bnutoswa
źródło
bez względu na to, czy zrestartuję natychmiast, nie mogę tego uruchomić w systemie Windows 8.1. Nie mam pojęcia dlaczego.
Gabriel Staples
1

Klucz rejestru:

HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Discardable\PostSetup\ShellNew

nie można go zmienić, aby osiągnąć to, co jest wyświetlane lub nie jest wyświetlane w menu kontekstowym „Nowy”. Jeśli zmienisz tę wartość, zostanie ona nadpisana przez Eksploratora przy następnym kliknięciu prawym przyciskiem myszy i wyświetleniu menu kontekstowego „Nowe”. Spróbuj, a zobaczysz, co mam na myśli.

WoodyElf
źródło
0

Wszystkie te informacje są oficjalnie udokumentowane przez Microsoft ; zwykle przeznaczone dla programistów, którzy rejestrują własne nowe typy plików.

Rozszerzanie nowego podmenu

Gdy użytkownik otwiera menu Plik w Eksploratorze Windows, pierwszym poleceniem jest Nowy . Wybranie tego polecenia powoduje wyświetlenie podmenu. Domyślnie zawiera dwa polecenia, Folder i Skrót , które pozwalają użytkownikom tworzyć podfoldery i skróty. To podmenu można rozszerzyć o polecenia tworzenia plików dla dowolnego typu pliku.

Aby dodać polecenie tworzenia pliku do podmenu Nowy , do plików aplikacji musi być przypisany typ pliku . Dołącz podklucz ShellNew pod klucz do rozszerzenia nazwy pliku. Po wybraniu polecenia Nowe menu menu Plik powłoka doda je do podmenu Nowy . Wyświetlany ciąg polecenia będzie ciągiem opisowym przypisanym do ProgID programu.

Przypisz jedną lub więcej wartości danych do podklucza ShellNew, aby określić metodę tworzenia pliku. Dostępne wartości są następujące.

  • Command: Wykonuje aplikację. Jest to wartość REG_SZ określająca ścieżkę aplikacji do uruchomienia. Możesz na przykład ustawić uruchomienie kreatora.
  • Data: Tworzy plik zawierający określone dane. Dane to wartość REG_BINARY z danymi pliku. Dane są ignorowane, jeśli podano NullFile lub FileName.
  • FileName: Tworzy plik, który jest kopią określonego pliku. Nazwa_pliku to wartość REG_SZ , ustawiona na pełną ścieżkę pliku do skopiowania.
  • NullFile: Tworzy pusty plik. NullFile nie ma przypisanej wartości. Jeśli podano NullFile, wartości Data i FileName są ignorowane.

I przykład utwórz nowy pusty mpy plik:

HKEY_CLASSES_ROOT
  (Default) = MyProgram.1
  MyProgram.1
   .myp
      ShellNew
         NullFile

Aby utworzyć nowy plik na podstawie określonego pliku szablonu:

HKEY_CLASSES_ROOT
   .myp
      (Default) = MyProgram.1
      MyProgram.1
         ShellNew
            FileName: REG_SZ = "%ProgramData%\Microsoft\Windows\Templates\MyNewTemplate.myp"
Ian Boyd
źródło