Kontextmenü "Neu" im Explorer erweitern

halwe

Lieutenant
Dabei seit
Jan. 2007
Beiträge
857
Hallo,

bekanntermaßen kann man ja über den ShellNew-Registry-Eintrag bei einer Dateierweiterung dafür sorgen, dass im Kontextmenü Neu (Windows Explorer in einem beliebigen Ordner) zu dieser Dateierweiterung ein Template erscheint.
Ich habe das erfolgreich ausgenutzt und habe den Eintrag unter
HKEY_CLASSES_ROOT\.docx\Word.Document.12\ShellNew\FileName
nach "Arbeitsdokument.docx" verändert und eine solche Datei unter
C:\Users\....\AppData\Roaming\Microsoft\Windows\Templates
als Template abgelegt.

Funktioniert prima und wenn ich per rechter Maustaste auf Neu-Microsoft Word-Dokument geht wird genau dieses Template verwendet.

Nun würde ich gern im Neu-Menü eben nicht nur dieses eine Word Template sondern mehrere verwenden. Also nicht nur der Eintrag "Microsoft Word Dokument" sondern auch Einträge wie
"Rechnungsvorlage"
"Arbeitsbericht"
usw.
Im Netz finden sich viele Anleitungen, wie man einen bestimmten Dateityp ins Neu-Menü bekommt, aber nicht wie man zu einem Dateityp mehrere Einträge bekommt. Ich selbst habe versucht, unter .docx eine zweiten Eintrag
HKCL\.docx\Rechnung\ShellNew
mit
"Rechnung.dotx"
als FileName zu erstellen, das bracht jedoch nichts.
Ich weiß, ich könnte mir irgendwo Schnellstartsymbole bauen oder sogar per Tastenkürzel auf eine meiner gespeicherten Vorlagen zugreifen. Das hat aber den Nachteil, dass ich dieses Muster dann noch ins richtige Verzeichnis kopieren muss. Hier hat aus meiner Sicht das Kontextmenü im Dateiexplorer deutliche Vorteile.

Kennt jemand eine Lösung für mein Problem?

Viele Grüße, Halwe
 

Yuuri

Fleet Admiral
Dabei seit
Okt. 2010
Beiträge
12.314
Neu ist eben für Dateitypen. Für deinen Fall wäre das Senden-an Menü besser. Wird zwar etwas missbraucht, erledigt aber seinen Zweck.

Erstell dir unter %APPDATA%\Microsoft\Windows\SendTo eine Datei Rechnung.cmd. Daneben legst du die eigentliche Datei mit gleichem Namen wie die Batch an - bspw. Rechnung.docx. In die Batch-Datei kommt folgender Inhalt:

Code:
copy "%~dp0\Rechnung.docx" "%1\Rechnung.docx"
Anschließend erstellst du noch ne Verknüpfung im gleichen Ordner von der Batch-Datei, welche dann im Senden-an-Menü erscheint.

Dann kannst du mit nem Rechtsklick auf nen Ordner die entsprechende Datei in den Ordner kopieren.
 
Zuletzt bearbeitet:

halwe

Lieutenant
Ersteller dieses Themas
Dabei seit
Jan. 2007
Beiträge
857
Danke für die Idee.
Leider habe ich sie nicht zum funktionieren bekommen, spätestens bei
Anschließend erstellst du noch ne Verknüpfung im gleichen Ordner von der Batch-Datei, welche dann im Senden-an-Menü erscheint.
hört mein Verständnis auf.
Haben Batch-Datei nicht die Endung .bat?
Was ist "%~dp0"?
Ich habe zwar nun im Senden an Menü eines Ordners einen Eintrag "Rechnung.cmd", aber der macht leider nichts.
Abgesehen davon ist das eben auch nicht ganz die Funktionalität von "Neu", ich muss eine Eben zurückgehen, den Ordner markieren und letztlich habe ich auch nicht sofort den Fokus auf dem Dateinamen.
Allerdings: Kreativ ist der Weg schon!

Momentan bastle ich gerade daran, einen neuen Dateityp "Rechnung" zu kreieren.
Ergänzung ()

Ich habe jetzt zumindest eine "Interimslösung", hier die "Kurzbeschreibung", falls das mal jemand braucht:

Hab in der Registry unter HKCL einen neuen Dateityp ".docr" eingeführt und diesem als Standardwert "Rechnung" zugeordnet. Dann noch ebenfalls bei HKCL diesen Dateityp "Rechnung" erstellt und ihm ein Defaulticon zugewiesen.
Beim ".docr" habe ich dann noch den Schlüssel ShellNew erstellt und die Zeichenfolge FileName (belegt mit Rechnung.docx) eingetragen.
Die Vorlage Rechnung.docx habe ich nach Windows\ShellNew kopiert.

Getestet (übrigens ohne das vielerorts beschriebene Neustarten von Windows oder Dateiexplorer):
Nun erscheint "Rechnung" im "Neu" Menü und wenn ich darauf klicke, erscheint eine neue Datei "Rechnung (neu).docr". Diese Datei ist eine Kopie meiner Rechnung.docx.
Da diese neue Datei auch gleich zum Umbenennen markiert ist, ändere ich bei der Gelegenheit die Erweiterung auf .docx, sonst würde sie nicht von Word bearbeitet werden können. Man könnte auch .docr standardmäßig als Word-Datei öffnen lassen, aber das will ich m´vermeiden, das meine Worddateien einheitliche Erweiterungen haben sollen.
 
Zuletzt bearbeitet:

Yuuri

Fleet Admiral
Dabei seit
Okt. 2010
Beiträge
12.314
Leider habe ich sie nicht zum funktionieren bekommen
799405

799406


Der Explorer zeigt beim Test wohl auch nur die cmd an, Directory Opus immerhin nur Verknüpfungen. Dann kannst du dir im Explorer zumindest die Verknüpfung sparen.
https://stackoverflow.com/a/5034119

%0 ist das ausführende Script, d steht für Drive, p für Path. Du erhälst also den Pfad des aktuellen Scripts.
ich muss eine Eben zurückgehen, den Ordner markieren und letztlich habe ich auch nicht sofort den Fokus auf dem Dateinamen.
Kann man ja auch so anpassen, dass wenn du eine Datei markierst, er dir die Vorlage nur ins Verzeichnis kopiert. Ich zumindest hab den Verzeichnisbaum immer offen, deswegen würde mich das nicht stören. Kenn ja deine Arbeitsweise nicht.

Der Weg ist aber sowieso nicht "gut", denn wenn bereits eine Rechnung.docx existiert, wird die einfach überschrieben. Der Weg ist halt nur Quick'n'Dirty zusammengebastelt.
 

halwe

Lieutenant
Ersteller dieses Themas
Dabei seit
Jan. 2007
Beiträge
857
Ja, Yuuri, danke noch mal. Aber wie du siehst, habe ich inzwischen einen anderen Ansatz gefunden, werde mir nun noch mein F2-Explorer Skript (Autohotkey) so umbauen, dass er gleich das Datum vor die Rechnung schreibt und die Erweiterung umbenennt.
 
Top