web-dev-qa-db-ja.com

PowerShellをWindowsエクスプローラーから起動するにはどうすればよいですか?

Windowsエクスプローラーの特定のフォルダーでPowerShellを起動する方法はありますか。フォルダーを右クリックして、「このフォルダーでPowerShellを開く」などのオプションがありますか?

MSBuildを毎日初めて実行するときに、ディレクトリをプロジェクトフォルダーに変更しなければならないのは本当に面倒です。

252
Josh Kodroff

Windowsエクスプローラーで、上部のアドレスバーに移動します(キーボードショートカット: Alt+D または Ctrl+L)およびpowershellまたはpowershell_iseと入力して押します Enter。 PowerShellコマンドウィンドウが開き、現在のディレクトリが表示されます。

511
Ashwin Nanjappa

逆にトリックとして追加するには、PowerShellプロンプトで次の操作を行います。

ii .

または

start .

現在のディレクトリでWindowsエクスプローラウィンドウを開きます。

102
EBGreen

Windows 8以降を使用している場合は、組み込みのFile→ "Open Windows PowerShell"を使用できます。

または Alt + F に続く R

74
Vivek Maharajh

http://www.hanselman.com/blog/IntroducingPowerShellPromptHere.aspx

Scott Hanselmanには、これを行うための本当に簡単なinfがあります。スクリプトを微調整する場合は、カスタマイズのためにinfを編集するのが非常に簡単です。

57
Chris Sutton

上記の回答の代わりに、PowerShellコマンド(powershell.exe)を毎回入力する必要がありますが、コンテキストメニューエントリを作成できます。 "ここでコマンドウィンドウを開く"コンテキストメニューのように。

これらのコマンドが移動するレジストリキーは3つあります。各キーは、異なるWindows Explorerオブジェクトのコンテキストメニューを制御します。最初のものはあなたが尋ねたものです:

  • HKCR\Directory\Background\Shell-これはエクスプローラーウィンドウ自体のコンテキストメニュー(つまり、空の場所で右クリックしたときなど、アイテムが選択されていないときに表示されるコンテキストメニュー)ウィンドウの領域)。
  • HKCR\Directory\Shell-これは、Windowsエクスプローラーのフォルダーのコンテキストメニューです。
  • HKCR\Drive\Shell-これは、Windowsエクスプローラーのルートにあるドライブアイコンのコンテキストメニューです。

これらのレジストリキーごとに、「ここにコマンドウィンドウを開く」コンテキストメニューがあるように、「ここにPowerShellウィンドウを開く」コマンドを追加するサブキーを追加できます。

ここに私のOpenPowerShellHere.regファイルのコピーがあります。これにより、各エクスプローラーオブジェクト、ウィンドウの背景、フォルダー、ドライブアイコンのコンテキストメニューにコマンドが配置されます。

Windows Registry Editor Version 5.00

;
; Add context menu entry to Windows Explorer background
;
[HKEY_CLASSES_ROOT\Directory\Background\Shell\powershell]
@="Open PowerShell window here"
"NoWorkingDirectory"=""

[HKEY_CLASSES_ROOT\Directory\Background\Shell\powershell\command]
@="C:\\Windows\\System32\\WindowsPowerShell\\v1.0\\powershell.exe -NoExit -Command Set-Location -LiteralPath '%V'"

;
; Add context menu entry to Windows Explorer folders
;
[HKEY_CLASSES_ROOT\Directory\Shell\powershell]
@="Open PowerShell window here"
"NoWorkingDirectory"=""

[HKEY_CLASSES_ROOT\Directory\Shell\powershell\command]
@="C:\\Windows\\System32\\WindowsPowerShell\\v1.0\\powershell.exe -NoExit -Command Set-Location -LiteralPath '%V'"

;
; Add context menu entry to Windows Explorer drive icons
;
[HKEY_CLASSES_ROOT\Drive\Shell\powershell]
@="Open PowerShell window here"
"NoWorkingDirectory"=""

[HKEY_CLASSES_ROOT\Drive\Shell\powershell\command]
@="C:\\Windows\\System32\\WindowsPowerShell\\v1.0\\powershell.exe -NoExit -Command Set-Location -LiteralPath '%V'"

したがって、お気に入りのテキストエディターで、OpenPowerShellHere.regという名前の新しいファイルを開きます。上記のコードのexactテキストをコピーし、新しいファイルに貼り付けて保存します。 (ファイルのコピーを含めたはずですが、添付ファイルが可能かどうかはわかりませんでした。)excludeコマンドエントリの1つは、セミコロンで適切なセクションをコメントアウトするだけです。私のコメントは各セクションを示しています。

ファイルを保存した後、ダブルクリックして実行します。要求されたら、続行するように指示します。実行するとすぐに、コンテキストメニューのエントリが表示されます!

これがエクスプローラーウィンドウのコンテキストメニューです。コンソールとPowerShellコマンドを強調表示しました。ご覧のとおり、コンテキストメニューエントリを追加して、昇格したコマンドウィンドウを実行することもできます。つまり、管理者として実行.

PowerShell entry in Explorer context menu

:コンテキストメニューエントリは、レジストリキーに基づいてアルファベット順に表示されます。昇格されたコマンドシェルのキー名は「runas」であり、これがPowerShellエントリの後に来る理由です。

:エクスプローラーウィンドウを開いている場合、変更を有効にするには、ウィンドウを閉じて再度開く必要があります。

:Windows 7では、エクスプローラーの側でツールキットを使用するとHKCR\Directory\Shellは機能しません

(つまり、ライブラリヘッダーの下の[ドキュメント]をクリックします)

Computer -> C: -> to -> Some -> Target -> Directoryを使用してナビゲートする必要があります

42
geo

ここからinfファイルをダウンロードできます- Introducing PowerShell Prompt Here

33
Gulzar Nazim

Windows 10では、コマンドプロンプトとPowerShellプロンプトの両方が、非管理者と管理者の両方について、メニューバーから見つけることができます。これらのオプションのフォルダーは、エクスプローラーで現在選択されているフォルダーに設定されます。

少なくともスウェーデン語版の場合、powershellは次のコマンドで開きます。 AltF+I。管理者のPowerShellの場合は AltF+S+P

Windows Powershell menu

それらが正しい文字でない場合は、長押しすることができます Alt キーを押して正しい文字を表示します。各ステップのメニュー項目に文字がオーバーレイされます。

13
Default

右クリックおよび保持「組み込み」の方法である「SHIFT」の場合にのみ、このコンテキストメニューが機能するようにしたかったここでコマンドウィンドウを開く 'コンテキストメニューが機能します。

しかし、提供されたソリューションはどれもそれをしなかったので、私は自分の.regファイルをロールしなければなりませんでした-以下をコピーし、power-Shell-here-on-shift.regとして保存してダブルクリックします。

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\Directory\Shell\powershell]
@="Open PowerShell here"
"NoWorkingDirectory"=""
"Extended"=""

[HKEY_CLASSES_ROOT\Directory\Shell\powershell\command]
@="C:\\Windows\\system32\\WindowsPowerShell\\v1.0\\powershell.exe -NoExit -Command Set-Location -LiteralPath '%L'"

open power Shell here while holding shift and pressing right click

6

PowerShell PowerToy ...を試してください。Open PowerShell Hereのコンテキストメニュー項目を追加します。

または、プロジェクトフォルダーを開始フォルダーとしてPowerShellを開くショートカットを作成できます。

5
Steven Murawski

Windows 8.1およびServer 2012 R2ではさらに簡単です。

これを1回実行します。タスクバーを右クリックし、[プロパティ]を選択します。 [ナビゲーション]タブで、左下隅を右クリックするか、Windowsキー+ Xを押すと、メニューの[✓]コマンドプロンプトをWindows PowerShellに置き換えますをオンにします。

その後、PowerShellプロンプトが必要なときはいつでも Win+X、 I。 (または Win+X、 A 管理者PowerShellプロンプトの場合)

3
Warren Rumak

少なくともコマンドプロンプトウィンドウを開くSVN用のツールを作成する男が作成したWindowsエクスプローラー拡張機能があります。

まだ試していないので、PowerShellを使用するかどうかはわかりませんが、Stack loveOverflowの仲間と愛を共有したかったのです。

http://tools.tortoisesvn.net/StExBar

3
Josh Kodroff

以下のレジストリキーを追加することにより、Windows 10では、SHIFT + RClickコンテキストメニューで ここでPowerShellを開く オプションを取得できました。これらを空のメモ帳ファイルにコピーし、.regファイルとして保存し、ファイルを実行してキーを追加すると、そこから機能するはずです。これらの他の回答のいくつかは、キーをHKCR\Directory\Shellに追加するように言っていますが、私にとっては、キーがHKLM\SOFTWARE\Classes\Directory\Shell

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Directory\background\Shell\powershell]
"Extended"=""
"NoWorkingDirectory"=""
@="Open PowerShell here"
"Icon"="%SystemRoot%\\system32\\WindowsPowerShell\\v1.0\\powershell.exe"

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Directory\background\Shell\powershell\command]
@="C:\\Windows\\system32\\WindowsPowerShell\\v1.0\\powershell.exe -NoExit -Command Set-Location -LiteralPath '%V'"

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Directory\Shell\powershell]
@="Open PowerShell here"
"Extended"=""
"Icon"="%SystemRoot%\\system32\\WindowsPowerShell\\v1.0\\powershell.exe"
"NoWorkingDirectory"=""

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Directory\Shell\powershell\command]
@="C:\\Windows\\system32\\WindowsPowerShell\\v1.0\\powershell.exe -NoExit -Command Set-Location -LiteralPath '%V'"
2
Rhys

以下は、以前のソリューションの簡潔な(および更新された)要約です。対処方法は次のとおりです。

これらの文字列とそれぞれの親キーを追加します。

pwrshell\(Default) < Open PowerShell Here
pwrshell\command\(Default) < powershell -NoExit -Command Set-Location -LiteralPath '%V'
pwrshelladmin\(Default) < Open PowerShell (Admin)
pwrshelladmin\command\(Default) < powershell -Command Start-Process -verb runAs -ArgumentList '-NoExit','cd','%V' powershell

これらの場所で

HKCR\Directory\Shell (for folders)
HKCR\Directory\Background\Shell (Explorer window)
HKCR\Drive\Shell (for root drives)

それでおしまい。 「Shift」キーを押した場合にのみ表示されるコマンドの「拡張」文字列を追加します。それ以外はすべて不要です。

2
ppw0

別のオプションとして、TechNetのMichael Murgoloによる優れたElevation PowerToysがあります http://technet.Microsoft.com/en-us/magazine/2008.06.elevation.aspx

ここには、PowerShell Prompt HereとPowerShell Prompt Hereが管理者として含まれています。

2
Mark Larson

かなり簡単な方法の1つは、ショートカットを介してPowerShellを呼び出すことです。ショートカットが呼び出されたときに使用するディレクトリ(フォルダー)を示す「開始」というラベルのショートカットプロパティがあります。

[開始]ボックスが空白の場合、現在のディレクトリを使用することを意味します。

通常の方法で最初にPowerShellへのショートカットを作成するとき、開始ボックスはホームディレクトリを指定します。ボックスの開始を空白にすると、現在のディレクトリでPSを開くpowershellへのショートカットがあります。

このショートカットをターゲットディレクトリにコピーし、エクスプローラーを使用して呼び出した場合、ターゲットディレクトリを指すPSを起動します。

この質問に対する回答はすでに受け入れられていますが、別の方法としてこれを提供します。

1
Walter Mitty
New-PSDrive -Name HKCR -PSProvider Registry -Root HKEY_CLASSES_ROOT
if(-not (Test-Path -Path "HKCR:\Directory\Shell\$KeyName"))
{
    Try
    {
        New-Item -itemType String "HKCR:\Directory\Shell\$KeyName" -value "Open PowerShell in this Folder" -ErrorAction Stop
        New-Item -itemType String "HKCR:\Directory\Shell\$KeyName\command" -value "$env:SystemRoot\system32\WindowsPowerShell\v1.0\powershell.exe -noexit -command Set-Location '%V'" -ErrorAction Stop
        Write-Host "Successfully!"
     }
     Catch
     {
         Write-Error $_.Exception.Message
     }
}
else
{
    Write-Warning "The specified key name already exists. Type another name and try again."
}

詳細スクリプトは WindowsエクスプローラーからPowerShellを起動する方法 からダウンロードできます。

1
frank tan

自動ホットキーユーザーの場合、ここに私が使用しているスニペットがあります

Ctrl-Alt-Tを押すと、PowerShellウィンドウが開きます。 (Win10でテスト済み)

「アクティブウィンドウ」がWindowsエクスプローラーウィンドウの場合、PowerShellはcurrent folderで開かれます。それ以外の場合は、いくつかのデフォルトフォルダーでPowerShellを開きます。

使用法:1)AutoHotkeyをインストールし、これをmyscript.ahkにコピーして貼り付けます2)<DefaultPath>を選択したパスに置き換えます。 3)スクリプトを実行します。

; Ctrl-Alt-T opens PowerShell in the current folder, if using Windows Explorer. Otherwise, just open the Powershell.
^!T::
if WinActive("ahk_class CabinetWClass") and WinActive("ahk_exe Explorer.exe")
{
    KeyWait Control
    KeyWait Alt
    Send {Ctrl down}l{Ctrl up}
    Send powershell{Enter}
}
else
{
    psScript =
    (
    cd 'C:\<DefaultPath>'
    ls
    )
    Run "%SystemRoot%\system32\WindowsPowerShell\v1.0\powershell.exe" -NoExit -Command &{%psScript%}
}
return
1
np8