Wie kann ich dem 'neuen' Kontextmenü einen Eintrag hinzufügen?

117

Wenn ich mit der rechten Maustaste auf eine beliebige Stelle klicke, erhalte ich die Option, eine neue Datei mit einer angegebenen Erweiterung hinzuzufügen. Ich möchte diesem Menü einige benutzerdefinierte Dateien hinzufügen, damit ich beispielsweise mit der rechten Maustaste darauf klicken und eine neue PHP-Datei erstellen kann.

Wie kann ich das machen?

Theta30
quelle
Probieren
Ravi Patel
2
Wenn Sie Probleme haben , eine völlig neue Dateierweiterung hinzugefügt ( und nicht nur das Hinzufügen NullFile/ FileNamezu einem vorhandenen Eintrag) in Windows 7, dann sieht diese andere Frage ... superuser.com/questions/588647/...
MrWhite
2
Rameshs Site ist eine gute Quelle für das manuelle Hinzufügen von Einträgen.
Synetech

Antworten:

64

So fügen Sie der Liste Erweiterungen Ihrer Wahl hinzu: Erstellen Sie eine Datei, fügen Sie den folgenden Inhalt hinzu, speichern Sie sie unter dem Namen whatever.reg und führen Sie sie aus.

Hinweis : Ersetzen Sie .png durch die Dateierweiterung, die Sie hinzufügen möchten, und ersetzen Sie alles, was Sie möchten.

Windows Registry Editor Version 5.00

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

Quelle

th3dude
quelle
4
Bitte beachten Sie link rot .
Mehper C. Palavuzlar
1
Guter Anruf. Antwort bearbeitet :)
th3dude
1
+1, das funktioniert. Wie können wir einen benutzerdefinierten Dateinamen wie "index.php" anstelle der "neuen PHP-Datei.php" haben?
Fedmich
1
Ich musste die .regDatei zweimal ausführen , damit sie funktioniert. Vielen Dank für diese Antwort.
Akash
3
Funktionierte nicht für mich in Windows 10, 1709 :( Explorer neu gestartet und Maschine sogar noch neu gestartet ...
Arete
66

Eine Sache noch:

Wenn Sie eine Datei als Vorlage für das neue Element hinzufügen möchten , verwenden Sie

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

und platziere die Datei (html.html) in:

  • Für dein eigenes Profil: %Userprofile%\Templates
  • Für alle Benutzer: %Allusersprofile%\Templates
  • Für das ganze System: %Systemroot%\ShellNew

Noch ein Detail: Wenn Sie den Eintrag "Windows Live Call" löschen möchten , verwenden Sie:

[-HKEY_CLASSES_ROOT\.wlcshrtctv2\LiveCall\ShellNew]
Eduardo Molteni
quelle
Cooler Gedanke, eine Datei als Vorlage verwenden zu können!
Clay Nichols
1
Falls sich jemand wundert, FileNamescheint der NullFileEintrag den in anderen Antworten genannten zu überschreiben . Sie müssen anscheinend keinen vorhandenen NullFileWert löschen . Beide Einträge zu haben, scheint jedoch einige andere Dienstprogramme von Drittanbietern zu verwirren, z. B. ShellMenuNew von NirSoft . (Windows 7)
MrWhite
2
Ich denke nicht, dass es in% Userprofile% Templates usw. sein muss, wenn Sie der Datei den gesamten Pfadnamen geben.
Jiggunjer
3
Was mache ich, wenn ich zwei Verknüpfungen zu zwei verschiedenen Vorlagen für dasselbe Programm erstellen möchte? Ich habe diese Methode beispielsweise perfekt verwendet, um ein Kontextmenüelement für eine "Artikel" -Vorlage für TeXworks zu erstellen. Ich möchte jetzt auch eine "modified_article" -Vorlage für TeXworks hinzufügen. Kann ich beide zum Kontextmenü hinzufügen? Vielen Dank!
Prahar
3
In Windows 8.1 funktionieren die aufgelisteten Vorlagenordner nicht. Ich erhalte die Fehlermeldung "Zugriff verweigert". Wo Vorlagen sein sollten, ist jetzt ein Verknüpfungsordner, der anscheinend "Junction" genannt wird - und es ist eine versteckte "betriebssystemspezifische" Datei. Daher wird der Vorlagenordner jetzt verschoben. Unter diesem Link finden Sie die neue Zuordnung ( jimmah.com/vista/Security/junctions.aspx ). Anscheinend ist es jetzt C:\Users\USER_NAME\AppData\Roaming\Microsoft\Windows\Templateszum Beispiel für dein eigenes Profil.
Gabriel Staples
19

ShellNewHandler hat mir geholfen, mein Windows 7-Shell-Menü> Neu> txt-Dokumenteintrag wiederherzustellen.

Bildbeschreibung hier eingeben

  1. Deaktivieren Sie .txt
  2. Klicken Sie auf Übernehmen
  3. Überprüfen Sie .txt
  4. Klicken Sie auf Übernehmen
Eric
quelle
2
Können Sie damit neue Einträge hinzufügen? Von den Screenshots und der Beschreibung scheint es nicht zu.
MrWhite
2
Sie können KEINE Einträge hinzufügen ... daher ist dies für das Thema völlig irrelevant.
Eric Sebasta
18

Rufen Sie den Registrierungseditor auf und erweitern Sie HKEY_CLASSES_ROOT

Gehen Sie zu .file_extention

und erstellen Sie einen Schlüssel namens ShellNew

Erstellen Sie in diesem Fall einen neuen Zeichenfolgenschlüssel mit dem Namen NullFile ohne Wert

Wenn ich zum Beispiel einen neuen Eintrag für ein leeres .wil-Objekt erstellen möchte *, würde ich ihn erstellen

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

* Wenn die Dateierweiterung wie .wil nicht existiert, würde ich zuerst eine Datei mit dieser Erweiterung erstellen und darauf doppelklicken. Öffnen Sie es mit dem Programm meiner Wahl, da dadurch die anderen benötigten Registrierungsschlüssel erstellt und Ihre Arbeit erleichtert werden.

William Hilsum
quelle
2
Funktioniert nicht unter Windows 10, ich habe auch diesen Artikel gefunden, aber auch nicht: askvg.com/how-to-add-remove-items-from-new-menu-in-windows
Neo
5

Zum Entfernen von Einträgen aus der Liste finden Sie hier ein Programm , mit dem Sie Einträge in einer GUI aktivieren / deaktivieren können. Viel einfacher als die Registrierung zu durchsuchen!

Leider können Sie keine Einträge hinzufügen.

Blorgbart
quelle
Das ist genau das, was ich brauchte, danke! Im Allgemeinen ist alles, was Sie wirklich brauchen, "Neues Textdokument" ...
Andrew
5

Keine dieser Methoden funktionierte für mich in Windows 10.

Endlich habe ich diese Seite gefunden , auf der erklärt wurde, dass Sie auf einen anderen Schlüssel verweisen müssen , der den Namen und das Standardsymbol enthält.

Dies ist das Minimum, das zum Erstellen eines Eintrags erforderlich ist, es wird jedoch kein Symbol angezeigt.

HINWEIS: Der dritte Eintrag bezieht sich auf eine neue Schlüsseldatei, auf die im (Standard-) Wert von .txt verwiesen wird

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\.txt]
@="textfile"

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

[HKEY_CLASSES_ROOT\textfile]
@="Text Document"

Es gibt zwei Möglichkeiten, ein Symbol anzugeben

  1. Weisen Sie den Explorer an, das Standardsymbol für den Inhaltstyp zu verwenden:
[HKEY_CLASSES_ROOT\.txt] 
@="textfile" 
"Content Type"="text/plain"
"PerceivedType"="text"

oder 2. Geben Sie unter textfile ein Symbol wie folgt an:

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

Oh, und zumindest für mich reicht das Schließen und erneute Öffnen des Explorers (stellen Sie sicher, dass Sie alle Instanzen schließen), um das Kontextmenü neu zu laden. Sie müssen nicht den gesamten Computer neu starten.

Subman
quelle
An meiner Seite änderte "Notepad ++" das HKEY_CLASSES_ROOT\.txtzu @="Notepad++_file". Also hat das Hinzufügen HKEY_CLASSES_ROOT\Notepad++_filemit @="Textfile"den Trick gemacht. Danke, gute Entdeckung!
Tino
4

Sie haben nicht angegeben, welche Windows-Version Sie verwenden - wenn es sich um XP handelt, können Sie TweakUI PowerToy von Microsoft herunterladen (auch in Wikipedia beschrieben ). Klicken Sie auf Vorlagen und fügen Sie nach Herzenslust Dateitypen hinzu oder entfernen Sie sie. So sieht es aus: Bildbeschreibung hier eingeben

User5910
quelle
3

Es scheint, dass die anderen Lösungen hier veraltet sind. Zumindest funktionierte bei mir in Windows 10 v. 1709 Build 16299.192 nichts davon ( Bearbeiten : funktioniert immer noch in Version 1809). Ich habe einige Tests in einer VM durchgeführt und dies funktioniert ab dem 2018.01.12 unter Windows 10 1709:

Fügen Sie die Registrierungsdatei hinzu:

Erstellen Sie eine neue Registrierungsdatei mit dem folgenden Inhalt:

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"

Ersetzen Sie xyzdurch die Erweiterung, die Sie hinzufügen möchten. Und durch XYZ test fileden Namen der Dateierweiterung ersetzen (z. B. wäre eine .scss-Datei eine "syntaktisch hervorragende Stylesheet-Datei"). Wenn Sie eine Vorlagendatei verwenden möchten, lesen Sie die folgenden Erläuterungen.

Möglicherweise muss Windows Explorer neu gestartet werden, nachdem Sie die Registrierungsdatei hinzugefügt haben. Sie können explorer.exe neu starten, indem Sie Folgendes in CMD eingeben:

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

Bildbeschreibung hier eingeben

Bildbeschreibung hier eingeben


Erklärung des Codes:

[HKEY_CLASSES_ROOT\.xyz]
@="xyz"

Erstellt einen neuen Dateityp in der Registrierung.

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

Auf diese Weise können Sie eine Vorlage für alle neuen Dateien dieses Dateiformats verwenden. Wir könnten zum Beispiel "template.xyz"eine neue Datei mit dem Namen "template.xyz" schreiben und erstellen und diese als Vorlage verwenden. Jedes Mal, wenn Sie eine neue Datei erstellen, wird diese mit vorgefertigten Inhalten gefüllt. Als Eduardo Molteni die Pfade für die Vorlagendateien genannt: %Userprofile%\Templates, %Allusersprofile%\Templatesoder für das gesamte System %Systemroot%\ShellNew. In diesem Beispiel haben wir keinen Vorlagennamen angegeben, da wir keinen verwenden möchten.

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

Dies ist der Name des Dateityps sowohl für das Kontextmenü als auch für die neu erstellten Dateien. Soweit ich weiß, funktioniert es nicht, diesen Wert leer zu lassen.

Symbol:

Das Symbol wird hinzugefügt, wenn Windows dem Dateityp eine Software zugeordnet hat.

Arete
quelle
1
Tolle Antwort, danke. Bitte beachten Sie in Windows 10, %userprofile%\Templatesist umgezogen %appdata%\Microsoft\Windows\Templatesund %Allusersprofile%\Templatesist umgezogen%programdata%\Microsoft\Windows\Templates
TheImirOfGroofunkistan
2

Erstellen Sie eine Nur-Text-Datei und fügen Sie die folgende Zeile hinzu:


Windows Registry Editor Version 5.00

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

Speichern Sie die Datei, und benennen Sie die Erweiterung in eine REG-Datei um. ZB "myNewItem.reg". Stellen Sie sicher, dass Sie die Erweiterung umbenannt haben und nicht nur den Dateinamen (myNewItem.reg.txt).

Doppelklicken Sie auf die Datei, um Ihre Registrierung zu aktualisieren.

Der nächste Schritt, und das ist sehr wichtig, starten Sie Ihren Computer direkt neu. Versuchen Sie also NICHT, das Inhaltsmenü zu öffnen, um festzustellen, ob es bereits funktioniert! Starten Sie zuerst Ihren Computer neu.

Wenn Sie das Inhaltsmenü öffnen, um festzustellen, ob Ihr erstaunliches neues Element bereits aufgeführt ist, wird die Registrierung wiederhergestellt ...

Versuchen Sie auch dieses Programm: http://sourceforge.net/projects/shellnewhandler/

Bnutoswa
quelle
Unabhängig davon, ob ich sofort neu starte oder nicht, funktioniert dies in Windows 8.1 nicht. Keine Ahnung warum.
Gabriel Staples
1

Der Registrierungsschlüssel:

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

kann nicht geändert werden, um das zu erreichen, was im Kontextmenü "Neu" angezeigt oder nicht angezeigt wird. Wenn Sie diesen Wert ändern, wird er vom Explorer überschrieben, wenn Sie das nächste Mal mit der rechten Maustaste klicken und das Kontextmenü "Neu" aufrufen. Probieren Sie es aus und Sie werden sehen, was ich meine.

WoodyElf
quelle
0

Diese Informationen werden alle offiziell von Microsoft dokumentiert . Normalerweise für Entwickler gedacht, die ihre eigenen neuen Dateitypen registrieren.

Das neue Untermenü erweitern

Wenn ein Benutzer das Menü Datei in Windows Explorer öffnet , lautet der erste Befehl Neu . Durch Auswahl dieses Befehls wird ein Untermenü angezeigt. Standardmäßig enthält es zwei Befehle, Ordner und Verknüpfung , mit denen Benutzer Unterordner und Verknüpfungen erstellen können. Dieses Untermenü kann um Dateierstellungsbefehle für jeden Dateityp erweitert werden.

Um einen Dateierstellungsbefehl zum Untermenü " Neu" hinzuzufügen , müssen die Dateien Ihrer Anwendung mit einem Dateityp verknüpft sein. Fügen Sie einen ShellNew Unterschlüssel unter dem Schlüssel für die Dateinamenerweiterung. Wenn der Befehl Neu im Menü Datei ausgewählt ist, wird er von der Shell zum Untermenü Neu hinzugefügt. Die Anzeigezeichenfolge des Befehls ist die beschreibende Zeichenfolge, die der ProgID des Programms zugewiesen ist.

Weisen Sie dem Unterschlüssel ShellNew einen oder mehrere Datenwerte zu , um die Methode zur Dateierstellung anzugeben. Die verfügbaren Werte folgen.

  • Command: Führt eine Anwendung aus. Dies ist ein REG_SZ- Wert, der den Pfad der auszuführenden Anwendung angibt. Sie können beispielsweise festlegen, dass ein Assistent gestartet wird.
  • Data: Erstellt eine Datei mit den angegebenen Daten. Daten ist ein REG_BINARY- Wert mit den Daten der Datei. Daten werden ignoriert, wenn entweder NullFile oder FileName angegeben wird.
  • FileName: Erstellt eine Datei, die eine Kopie einer angegebenen Datei ist. FileName ist ein REG_SZ- Wert, der auf den vollständig qualifizierten Pfad der zu kopierenden Datei festgelegt ist.
  • NullFile: Erstellt eine leere Datei. NullFile wird kein Wert zugewiesen. Wenn NullFile angegeben wird, werden die Werte für Data und FileName ignoriert.

Und zum Beispiel eine neue leere mpy Datei erstellen :

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

So erstellen Sie eine neue Datei basierend auf einer bestimmten Vorlagendatei:

HKEY_CLASSES_ROOT
   .myp
      (Default) = MyProgram.1
      MyProgram.1
         ShellNew
            FileName: REG_SZ = "%ProgramData%\Microsoft\Windows\Templates\MyNewTemplate.myp"
Ian Boyd
quelle