Explorer-Kontextmenü erweitern
Der Windows Explorer bietet über ein Kontextmenü verschiedene Optionen, darunter auch solche, die auf aktuell ausgewählte Dateien und Ordner anwendbar sind. Diese Menüoptionen lassen sich um eigene Einträge erweitern, insbesondere um eine zusätzliche Bearbeitung der Auswahl zu erzielen. Dazu wird der Aufruf eines Programms, das diese Bearbeitung vornimmt, eingebunden. Dies kann auf zweierlei Weise geschehen: durch Einbeziehung in die vorhandene Senden an-Option oder durch Einrichtung spezieller Schlüssel in der Registratur (Registry). 1
Das erste Verfahren ist einfacher und risikoärmer als das zweite, weshalb es zu bevorzugen ist. Ein weiterer Vorteil liegt darin, dass die neue Option Teil des »Senden an«-Submenüs wird, sodass die erste Menüebene übersichtlich bleibt.
Ich beschreibe beide Verfahren am Beispiel der Scriptdatei für Ordnerkopien. Eine Anpassung für andere Programmaufrufe ist durch Änderung der entsprechenden Datei- und Optionsbezeichnungen leicht möglich.
Die Scriptdatei heißt foldercopy.vbs oder foldercopyx.vbs. Ich gehe in dieser Beschreibung mal von der ersten Datei aus. (Sie können natürlich auch die zweite Datei wählen oder zwei Menüeinträge für beide Versionen anlegen.) Als Speicherort nehme ich im Folgenden den Ordner C:\Tools an. Ändern Sie diesen Wert gegebenenfalls auf das von Ihnen verwendete Verzeichnis ab.
Daraus ergibt sich beispielsweise C:\Tools\foldercopy.vbs als vollständige Dateibezeichnung.
Die neue Menüoption soll »Ordnerkopie ...« heißen. Diese Benennung folgt dem Standard, Optionen, die zur Anzeige eines Dialogfensters führen (in diesem Fall die Ordnerauswahl), durch drei Punkte zu kennzeichnen. Sie unterscheiden sich damit sichtbar von solchen Optionen, die unmittelbar eine Aktion auslösen.
(Der Optionsname kann natürlich auch auf einen anderen informativen Kurztext wie etwa »Kopieren nach ...« lauten.)
SendTo
Die Ergänzung der Senden an-Option erfolgt auf der Dateiebene. Dazu wird in einem bestimmten Benutzerordner (SendTo) eine Verknüpfung mit dem gewünschten Programm angelegt. Dies kann leicht mit dem Explorer durchführt werden. Die benötigten Funktionen stehen über das Kontextmenü, teils auch über Tastenkürzel zur Verfügung.
(Das Verfahren wurde bereits in einem früheren Artikel beschrieben.)
1. Verknüpfung für die Zieldatei erstellen
Starten Sie den Explorer und wechseln Sie in den Ordner, in dem sich die Scriptdatei foldercopy.vbs befindet. Im Beispiel wäre das C:\Tools. Rufen Sie für diese Datei das Kontextmenü auf (rechter Mausklick oder Menü-Taste) und wählen Sie darin die Option Verknüpfung erstellen. Im Ordner wird eine Verknüpfungsdatei erzeugt, deren Name wahrscheinlich foldercopy.vbs - Verknüpfung lautet.
2. Verknüpfungsdatei verschieben
Nun markieren Sie die neue Verknüpfungsdatei und schneiden sie aus (Kontextmenü oder Strg+X).
Dann wechseln Sie in den SendTo-Ordner.
Der einfachste Weg besteht darin, in der Adressleiste des Explorers das Kürzel shell:sendto einzutragen und dies mit der Eingabetaste (Enter-Taste) abzuschließen. Damit gelangen Sie direkt in den Ordner des aktuellen Benutzers.
Alternativ können Sie den Ordner auch in der Ordnerstruktur auswählen. Der vollständige Pfad für einen Benutzer namens »Xyz« lautet:
C:\Users\Xyz\AppData\Roaming\Microsoft\Windows\SendTo
Sie müssen also Ihren Benutzernamen kennen und diese Verzeichnisebenen durchschreiten.
(Der Explorer zeigt den Hauptordner sprachspezifisch an, sodass Sie auf einer deutschen Version mit C:\Benutzer beginnen würden.)
Im SendTo-Ordner fügen Sie jetzt die Verknüpfungsdatei wieder ein (Kontextmenü oder Strg+V).
3. Verknüpfung umbenennen
Abschließend sollten Sie den Namen der Datei auf die gewünschte Bezeichnung der Menüoption ändern.
Kontextmenü-Eintrag wieder löschen
Um den Menüpunkt innerhalb der Senden an-Optionen zu entfernen, löschen Sie die Verknüpfungsdatei im SendTo-Ordner.
Registry
Das Kontextmenü des Explorers kann auch erweitert werden, indem neue Optionen durch Registry-Einträge definiert werden. Die Registry ist eine Konfigurationsdatenbank, die sehr viele Informationen enthält, darunter auch solche, die die Funktionsweise von Windows betreffen. Daher kann eine fehlerhafte Bearbeitung nachteilige bis fatale Folgen haben.
Unerfahrenen Benutzern wird von diesem Verfahren deshalb dringlich abgeraten!
Zur Bearbeitung der Registry enthält Windows den Registrierungs-Editor RegEdit, der eine Explorer-ähnliche Ansicht auf die Datenbank bietet. Die Bearbeitungsfunktionen sind über Haupt- und Kontextmenü erreichbar.
1. Explorer-Option erstellen
Rufen Sie den Registrierungs-Editor auf und navigieren Sie zu folgendem Pfad:
HKEY_CLASSES_ROOT\*\shell
Erzeugen Sie dort einen neuen Schlüssel mit der gewünschten Bezeichnung der Aktion, also der Option des Explorer-Kontextmenüs. Nach der oben beschriebenen Vorgabe ist das »Ordnerkopie ...«.
2. Programmbefehl definieren
Wählen Sie den neuen Schlüssel aus und erzeugen Sie dort einen weiteren Schlüssel namens »command«.
Ändern Sie den Standardwert »(Standard)« dieses Schlüssels und tragen Sie den Programmbefehl ein:
C:\Windows\System32\WScript.exe C:\Tools\foldercopy.vbs %1
Normalerweise besteht ein solcher Befehl einfach aus der vollständigen Dateibezeichnung des Programms sowie einem (durch ein Leerzeichen abgesetztes) Kürzel »%1«, das die beim Programmaufruf übergebenen Parameter repräsentiert. Für den Aufruf einer Scriptdatei ist es hier aber erforderlich, explizit das eigentlich ausführende Programm (den Windows Script Host) zu starten. Deshalb ist der Programmbefehl für die Registry komplexer als bei einer SendTo-Verknüpfung.
Sie haben jetzt also diesen Registry-Eintrag erzeugt:
HKEY_CLASSES_ROOT\*\shell\Ordnerkopie ...\command
mit diesem Schlüsselwert:
C:\Windows\System32\WScript.exe C:\Tools\foldercopy.vbs %1
(oder dem Ordner- bzw. Dateinamen, den Sie verwenden).
3. Explorer-Option für Ordner erstellen
Die in den beiden vorangegangenen Schritten definierte Option steht nun für Dateien zur Verfügung, aber noch nicht für Ordner. Damit ein solcher Programmbefehl auch auf Ordner angewendet werden kann, bedarf es eines zweiten Registry-Eintrags, mit ansonsten gleichen Schlüsseln und Werten.
Wechseln Sie hierfür zu folgendem Pfad:
HKEY_CLASSES_ROOT\Directory\shell
Erzeugen Sie dort wieder einen Schlüssel für die Menüoption (»Ordnerkopie ...«) und darin den Schlüssel »command«. Auch hier ändern Sie den Standardwert dieses Schlüssels auf den Programmbefehl ab.
Der zweite neue Registry-Eintrag lautet also:
HKEY_CLASSES_ROOT\Directory\shell\Ordnerkopie ...\command
Der Schlüsselwert ist identisch zum ersten.
Kontextmenü-Eintrag wieder löschen
Um die Befehlsoption zu entfernen, löschen Sie die hierfür angelegten Registry-Schlüssel. Das sind die im 1. und 3. Schritt erzeugten Schlüssel mit der Optionsbezeichnung. Die darin befindlichen Schlüssel und Werte werden hierbei mitgelöscht.
Hinweis
Die obigen Registry-Pfade gelten für alle Benutzer.
Um die Änderungen auf den aktuellen Benutzer zu beschränken, sind die neuen Schlüssel stattdessen unter
HKEY_CURRENT_USER\Software\Classes\*\shell
und
HKEY_CURRENT_USER\Software\Classes\directory\shell
zu erzeugen.
Es kann durchaus sein, dass einige der übergeordneten Schlüssel noch nicht vorhanden sind. Sie müssen in diesem Fall auch angelegt werden, sodass sich jeweils die gezeigten vollständigen Registry-Pfade ergeben.
Anmerkung:
1) Dem Benutzer steht noch ein dritter Weg offen, denn von verschiedenen Seiten werden Anwendungen zur Änderung oder Verwaltung des Explorer-Kontextmenüs angeboten. (Diese Programme arbeiten in aller Regel mit Registry-Schlüsseln, also der hier gezeigten zweiten Methode.)