
Nehmen wir an, ich habe im Windows Explorer einen Ordner wie diesen geöffnet:
Ich möchte, dass ich hier direkt ein Cygwin-Terminal öffnen kann, indem ich eine Tastenkombination verwende oder alternativ mit der rechten Maustaste klicke und im Popup-Menü eine Option auswähle, die dies ermöglicht. Ich muss MinGW, PowerShell oder Windows Command Terminal auf diese Weise auch oft in einem bestimmten Verzeichnis öffnen.
Im Moment öffne ich das Terminal, kopiere und füge den Pfad ein und ändere das Verzeichnis mit dem Befehl CD. Aber ich bin sicher, dass es einen schnelleren Weg geben muss, wenn wir das jahrzehntelang täglich Dutzende Male machen müssen.
Ich verwende übrigens Windows 10 und werde wahrscheinlich bald auf Windows 11 umsteigen.
Antwort1
Das Kontextmenü des Ordnerhintergrunds wird durch den HKEY_CLASSES_ROOT\Directory\background\shell
Registrierungsschlüssel gesteuert. Beispielsweise wird der Eintrag „Mit Visual Studio öffnen“ durch den AnyCode
Unterschlüssel gesteuert.
Eingabeaufforderung und PowerShell
Windows 10 hat bereits Einträge für cmd.exe
und powershell.exe
, diese sind jedoch standardmäßig ausgeblendet. Sie können den PowerShell-Eintrag anzeigen, indem Sie die ShiftTaste gedrückt halten und gleichzeitig mit der rechten Maustaste auf den Hintergrund des Ordnerfensters klicken. Die Eingabeaufforderung ist ausgeblendet, wenn PowerShell mit dem Wert installiert wird HideBasedOnVelocityId
.
Um die Eingabeaufforderung und PowerShell immer im Kontextmenü des Ordnerhintergrunds anzuzeigen, ohne dass Sie Folgendes gedrückt halten müssen Shift:
- Erteilen Sie sich selbst die Berechtigung, den
shell
Schlüssel zu ändern.- Klicken Sie mit der rechten Maustaste auf den Schlüssel im Registrierungs-Editor.
- Wählen Sie Berechtigungen > Erweitert.
- Ändern Sie den Besitzer in
Administrators
und aktivieren Sie sowohl „Besitzer für untergeordnete Container und Objekte ersetzen“ als auch „Alle Berechtigungseinträge für untergeordnete Objekte durch vererbbare Berechtigungseinträge von diesem Objekt ersetzen“. - Klicken Sie auf „OK“, um das Dialogfeld „Berechtigungen“ zu schließen.
- Löschen Sie in den
cmd
Unterschlüsseln und die Werte , , und oder benennen Sie sie um .PowerShell
Extended
HideBasedOnVelocityId
ShowBasedOnVelocityId
Wenn Sie jetzt mit der rechten Maustaste auf den Hintergrund eines Ordners klicken, sollten Sie im Kontextmenü „Eingabeaufforderung hier öffnen“ und „PowerShell-Fenster hier öffnen“ sehen.
Neue Einträge
Um dem Kontextmenü des Ordnerhintergrunds neue Einträge hinzuzufügen, können Sie im HKEY_CLASSES_ROOT\Directory\background\shell
Registrierungsschlüssel neue Schlüssel erstellen.
- Der Name des neuen Schlüssels kann ein beliebiger eindeutiger Name sein; er wird nicht in der Benutzeroberfläche angezeigt.
- Die Textbeschriftung des Kontextmenüeintrags wird durch den
(Default)
Wert im Schlüssel gesteuert. - Das optionale Symbol des Eintrags wird durch den
Icon
Zeichenfolgenwert im Unterschlüssel gesteuert. Es kann der Dateiname einer ICO-Datei oder einer PE-Datei (DLL/EXE) mit einer optionalen numerischen ID sein, die durch ein Komma getrennt ist. Der Index kann für den 0-basierten Index des Symbols in der PE-Datei nicht negativ oder für die Ressourcen-ID negativ sein. - Das Programm und die Argumente, die ausgeführt werden, wenn Sie auf den Eintrag klicken, werden durch den
(Default)
Wert descommand
Unterschlüssels gesteuert. Er verwendet die%V
Platzhaltervariable, um das aktuelle Verzeichnis darzustellen.
MinGW Bash-Beispiel
Ich habe MinGW Bash als Teil von Git für Windows installiert. Hier ist eine .reg
Datei, die es zu meinem Kontextmenü im Ordnerhintergrund hinzufügt. Ihr Installationsverzeichnis wird wahrscheinlich anders sein.
Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\Directory\Background\shell\bash]
@="Open in Bash"
"Icon"="C:\\Programs\\Development\\Git\\mingw64\\share\\git\\git-for-windows.ico"
[HKEY_CLASSES_ROOT\Directory\Background\shell\bash\command]
@="\"C:\\Programs\\Development\\Git\\bin\\bash.exe\""
Dadurch wird Bash im angegebenen Ordner geöffnet, auch wenn der Befehl nicht verwendet %V
, da Windows den Prozess standardmäßig mit dem Ordner als Arbeitsverzeichnis des neuen Prozesses startet (es sei denn, NoWorkingDirectory
im Schlüssel ist ein Wert vorhanden).
Ich habe Cygwin nicht mehr installiert, aber ein Menüeintrag für dessen Bash kann höchstwahrscheinlich auf ähnliche Weise hinzugefügt werden.
In Windows 11 ist im entsprechenden Menü immer ein Eintrag „Im Terminal öffnen“ sichtbar, der jedoch schwieriger anzupassen ist.