PowerShell "Open Here" Module
PowerShell module that enables "Open here" shortcuts functionality for Windows PowerShell, PowerShell Core, Windows Terminal, Bash and CMD.
Introduction
OpenHere is a PowerShell module for installation of shell shortcuts into the context menu (the right mouse button click or the menu key) for Microsoft Windows.
The shortcuts will open desired shell in the current location, e.g. for Windows PowerShell $PWD
will be set to the location from which the shortcut was invoked.
Main features
- Shortcut installation/removal for Windows PowerShell, Windows Terminal, CMD, PowerShell Core, Bash
- Open here with non-elevated privileges shortcut.
- Open here with elevated privileges shortcut.
- Shortcut availability on directory, drive, directory background, user's desktop.
- Default setting for easy-to-use.
- Fully customizable shortcut names.
- Fully customizable shortcut icon.
- Capability of showing the shortcut only if the SHIFT key is pressed.
- Rollback of all shell modifications.
- Works offline.
- Well documented.
Basic use
To install the OpenHere module, just type following command into your PowerShell session with elevated privileges.
Install-Module -Name OpenHere
Import-Module -Name OpenHere
Now, you can use the module as you wish. For shortcut installation:
Set-OpenHereShortcut -ShortcutType:WindowsPowerShell
For other shortcuts just type:
Set-OpenHereShortcut -ShortcutType:WindowsTerminal
Set-OpenHereShortcut -ShortcutType:CMD
Set-OpenHereShortcut -ShortcutType:PowerShellCore
For a custom shortcut & command names, fill parameters accordingly:
Set-OpenHereShortcut -ShortcutType:WindowsPowerShell -RootName 'Old PowerShell' -OpenHere 'I''m lazy' -OpenHereAsAdmin 'I''m lazy admin'
or the equivalent with the escape backtick:
Set-OpenHereShortcut -ShortcutType:WindowsPowerShell`
-RootName 'Old PowerShell' `
-OpenHere 'I''m lazy' `
-OpenHereAsAdmin 'I''m lazy admin
To remove the shortcut with any settings, just call:
Remove-OpenHereShortcut -ShortcutType:WindowsTerminal
For more details about setting/removing process, type:
Set-OpenHereShortcut -ShortcutType:WindowsTerminal -Verbose
Remove-OpenHereShortcut -ShortcutType:WindowsTerminal -Verbose
respectively.
For the default EXE icons as the shortcut icons, use -UseExeIcon
:
Set-OpenHereShortcut -ShortcutType:WindowsTerminal -UseExeIcon
To show the Open Here shortcut only if the SHIFT key is pressed and the right mouse button is clicked, use -UseShift
:
Set-OpenHereShortcut -ShortcutType:WindowsTerminal -UseShift
For more examples, type:
Get-Help Set-OpenHereShortcut -Examples
Notes
Windows Terminal doesn't responds to RunAs request from the context menu. This problem is a limitation of the UWP platform. A workaround has been implemented to support Windows Terminal shortcut with elevated privileges. A similar workaround had to be implemented for non-elevated Open here Windows Terminal shortcut to support scenarios when requests are invoked from RMB clicks on a directory or a drive letter.
FAQ
Are there any plans to extend the functionality of this module?
I consider this module feature complete. If you have some idea or suggestion, please open an issue. I definitely have a look on your suggestion.
Can I customize the shortcut icon?
By default, OpenHere module uses its own icons in shell context menus. If the -UseExeIcon
switch is used when shortcut is created, the default icons are not generated. These default icons are written in %LOCALAPPDATA%\OpenHere\[ShellType]
. Every shell has its own Icon.ico
file in the corresponding subfolder. You can customize icons by overriding these Icon.ico
files.
Can I override the names and setup?
Yes, just run Set-OpenHereShortcut
with a new configuration.
Is the name limited to English?
No, the shortcut names supports Unicode and this is only limitation as I'm aware of.
Windows Command Prompt icon looks weird when Windows Black theme is turn on. What should I do?
You could either run Set-OpenHereShortcut
again with -UseExeIcon
or override the icon by some other ico file. Have a look at the previous FAQ about the shortcut icon customization for details.
Links
OpenHere module at PowerShell Gallery
Attributions
Get-Icon
CMD icon
PowerShell icon
PowerShell Core icon
WSLBash icon
PNG to icon online converter
PNG to base64 online converter