web-dev-qa-db-ja.com

フォルダの背景を右クリックして「ここでPowerShellウィンドウを開く」を表示するにはどうすればよいですか?

Shiftキーを押しながら右クリックするとこのオプションが表示されることは知っていますが、Shiftキーを押したままにしてこのオプションを表示したくありません。

たとえば、GitをWindowsにインストールする場合、Shiftキーを押しながら右クリックして「ここでGit bashを開く」を表示する必要はありません。これは、右クリックでも表示されるためです。

レジストリを確認すると、HKEY_CLASSES_ROOT\Directory\Shell\git_Shell\commandの下にデフォルト値"C:\Program Files\Git\git-bash.exe" "--cd=%1"があることがわかります。

HKEY_CLASSES_ROOT\Directory\Shell\Powershell\commandの下のデフォルト値は、powershell.exe -noexit -command Set-Location '%V'です。

したがって、カスタムの場所HKEY_CLASSES_ROOT\Directory\Shell\PowershellHere\commandの下のデフォルトエントリをpowershell.exe -noexit -command Set-Location '%1'に設定すると、右クリックメニューにPowerShellオプションが表示されますが、機能しませんでした:(

私に何ができる?

2
user89

ここに新しいレジストリキーを作成します:

HKEY_CLASSES_ROOT\Directory\Background\Shell\PowershellHere

(Default)値の場合は、空白のままにするか、&PowershellHereを追加して、右クリックしてから文字pをホットキーとして使用できます。)

ここに別のレジストリキーを作成します:HKEY_CLASSES_ROOT\Directory\Background\Shell\PowershellHere\command

(Default)文字列に次の値を指定します。

powershell.exe -noexit -command Set-Location -literalPath '%V'

または

C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe -noexit -command Set-Location -literalPath '%V'

または、次の場所で既存のキーをハイジャックできます:HKEY_CLASSES_ROOT\Directory\Background\Shell\PowershellExtendedおよびNoWorkingDirectoryサブキーを削除します(ただし、regedit管理者権限を持つ。

2
sippybear

これは、Windows10の[背景]メニューにPowershellコマンドを追加するために使用するregファイルです。

Windows Registry Editor Version 5.00

;Add_Open_Powershell_to_Context_Menu.reg

;Right-Click Background only

[HKEY_CLASSES_ROOT\Directory\Background\Shell\02MenuPowerShell]
"MUIVerb"="PowerShell Prompts"
"Icon"="powershell.exe"
"ExtendedSubCommandsKey"="Directory\\Background\\ContextMenus\\MenuPowerShell"

[HKEY_CLASSES_ROOT\Directory\Background\Shell\02MenuPowerShell]
"MUIVerb"="PowerShell Prompts"
"Icon"="powershell.exe"
"ExtendedSubCommandsKey"="Directory\\Background\\ContextMenus\\MenuPowerShell"

[HKEY_CLASSES_ROOT\Directory\Background\ContextMenus\MenuPowerShell\Shell\open]
"MUIVerb"="PowerShell"
"Icon"="powershell.exe"

[HKEY_CLASSES_ROOT\Directory\Background\ContextMenus\MenuPowerShell\Shell\open\command]
@="powershell.exe -noexit -command Set-Location '%V'"

[HKEY_CLASSES_ROOT\Directory\Background\ContextMenus\MenuPowerShell\Shell\runas]
"MUIVerb"="PowerShell Elevated"
"Icon"="powershell.exe"
"HasLUAShield"=""
[HKEY_CLASSES_ROOT\Directory\Background\ContextMenus\MenuPowerShell\Shell\runas\command]
@="powershell.exe -noexit -command Set-Location '%V'"
1
bobkush

これをPowershellで実行して、コンテキストメニューを追加します

このアプローチにより、フォルダとフォルダのバックグラウンドの両方で機能する右クリックのコンテキストメニューが生成され、次のようなメニューが実現します。

Powershell Context menu

  1. 管理PowerShellプロンプトを実行する
  2. 次のコマンドを貼り付けます。

reg delete "HKEY_CLASSES_ROOT\Directory\Shell\PowershellConsoleHere" /f
reg delete "HKEY_CLASSES_ROOT\Directory\Background\Shell\PowershellConsoleHere" /f
reg delete "HKEY_CLASSES_ROOT\Directory\Background\ContextMenus\MenuPowerShell\Shell\open" /f
reg delete "HKEY_CLASSES_ROOT\Directory\Background\ContextMenus\MenuPowerShell\Shell\runas" /f


######## Add “Powershell Console Here” options to context menu

#### Right-Click Folder context menu

reg add "HKEY_CLASSES_ROOT\Directory\Shell\PowershellConsoleHere" /v MUIVerb /t REG_SZ /d "Powershell" /f
reg add "HKEY_CLASSES_ROOT\Directory\Shell\PowershellConsoleHere" /v Icon /t REG_SZ /d "powershell.exe" /f
reg add "HKEY_CLASSES_ROOT\Directory\Shell\PowershellConsoleHere" /v ExtendedSubCommandsKey /t REG_SZ /d "Directory\Background\ContextMenus\MenuPowerShell" /f

#### Right-Click Background context menu

reg add "HKEY_CLASSES_ROOT\Directory\Background\Shell\PowershellConsoleHere" /v MUIVerb /t REG_SZ /d "Powershell" /f
reg add "HKEY_CLASSES_ROOT\Directory\Background\Shell\PowershellConsoleHere" /v Icon /t REG_SZ /d "powershell.exe" /f
reg add "HKEY_CLASSES_ROOT\Directory\Background\Shell\PowershellConsoleHere" /v ExtendedSubCommandsKey /t REG_SZ /d "Directory\Background\ContextMenus\MenuPowerShell" /f

### Create sub-context menu options
##  Sub-context menu option: Console
reg add "HKEY_CLASSES_ROOT\Directory\Background\ContextMenus\MenuPowerShell\Shell\open" /v MUIVerb /t REG_SZ /d "Console" /f
reg add "HKEY_CLASSES_ROOT\Directory\Background\ContextMenus\MenuPowerShell\Shell\open" /v Icon /t REG_SZ /d "powershell.exe" /f

# Set default key value "(Default)"
reg add "HKEY_CLASSES_ROOT\Directory\Background\ContextMenus\MenuPowerShell\Shell\open\command" /f /ve /d "powershell.exe -noexit -command Set-Location '%V'"

##  Sub-context menu option: Elevated Console
reg add "HKEY_CLASSES_ROOT\Directory\Background\ContextMenus\MenuPowerShell\Shell\runas" /v MUIVerb /t REG_SZ /d "Elevated Console" /f
reg add "HKEY_CLASSES_ROOT\Directory\Background\ContextMenus\MenuPowerShell\Shell\runas" /v Icon /t REG_SZ /d "powershell.exe" /f
reg add "HKEY_CLASSES_ROOT\Directory\Background\ContextMenus\MenuPowerShell\Shell\runas" /v HasLUAShield /t REG_SZ /d "" /f

# Set default key value "(Default)"
reg add "HKEY_CLASSES_ROOT\Directory\Background\ContextMenus\MenuPowerShell\Shell\runas\command" /f /ve /d "powershell.exe -noexit -command Set-Location '%V'"

これは、MSDNブログ記事に基づいています 「ここでコマンドプロンプトを開く」コンテキストメニューエクスペリエンスの強化

0
CJBS