Windowsエクスプローラーの特定のフォルダーでPowerShellを起動する方法はありますか。フォルダーを右クリックして、「このフォルダーでPowerShellを開く」などのオプションがありますか?
MSBuildを毎日初めて実行するときに、ディレクトリをプロジェクトフォルダーに変更しなければならないのは本当に面倒です。
Windowsエクスプローラーで、上部のアドレスバーに移動します(キーボードショートカット: Alt+D または Ctrl+L)およびpowershell
またはpowershell_ise
と入力して押します Enter。 PowerShellコマンドウィンドウが開き、現在のディレクトリが表示されます。
逆にトリックとして追加するには、PowerShellプロンプトで次の操作を行います。
ii .
または
start .
現在のディレクトリでWindowsエクスプローラウィンドウを開きます。
Windows 8以降を使用している場合は、組み込みのFile→ "Open Windows PowerShell"を使用できます。
または Alt + F に続く R。
http://www.hanselman.com/blog/IntroducingPowerShellPromptHere.aspx
Scott Hanselmanには、これを行うための本当に簡単なinfがあります。スクリプトを微調整する場合は、カスタマイズのためにinfを編集するのが非常に簡単です。
上記の回答の代わりに、PowerShellコマンド(powershell.exe)を毎回入力する必要がありますが、コンテキストメニューエントリを作成できます。 "ここでコマンドウィンドウを開く"コンテキストメニューのように。
これらのコマンドが移動するレジストリキーは3つあります。各キーは、異なるWindows Explorerオブジェクトのコンテキストメニューを制御します。最初のものはあなたが尋ねたものです:
これらのレジストリキーごとに、「ここにコマンドウィンドウを開く」コンテキストメニューがあるように、「ここに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コマンドを強調表示しました。ご覧のとおり、コンテキストメニューエントリを追加して、昇格したコマンドウィンドウを実行することもできます。つまり、管理者として実行.
注:コンテキストメニューエントリは、レジストリキーに基づいてアルファベット順に表示されます。昇格されたコマンドシェルのキー名は「runas」であり、これがPowerShellエントリの後に来る理由です。
注:エクスプローラーウィンドウを開いている場合、変更を有効にするには、ウィンドウを閉じて再度開く必要があります。
注:Windows 7では、エクスプローラーの側でツールキットを使用するとHKCR\Directory\Shell
は機能しません
(つまり、ライブラリヘッダーの下の[ドキュメント]をクリックします)
Computer -> C: -> to -> Some -> Target -> Directory
を使用してナビゲートする必要があります
ここからinfファイルをダウンロードできます- Introducing PowerShell Prompt Here
右クリックおよび保持「組み込み」の方法である「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'"
PowerShell PowerToy ...を試してください。Open PowerShell Hereのコンテキストメニュー項目を追加します。
または、プロジェクトフォルダーを開始フォルダーとしてPowerShellを開くショートカットを作成できます。
Windows 8.1およびServer 2012 R2ではさらに簡単です。
これを1回実行します。タスクバーを右クリックし、[プロパティ]を選択します。 [ナビゲーション]タブで、左下隅を右クリックするか、Windowsキー+ Xを押すと、メニューの[✓]コマンドプロンプトをWindows PowerShellに置き換えますをオンにします。
その後、PowerShellプロンプトが必要なときはいつでも Win+X、 I。 (または Win+X、 A 管理者PowerShellプロンプトの場合)
少なくともコマンドプロンプトウィンドウを開くSVN用のツールを作成する男が作成したWindowsエクスプローラー拡張機能があります。
まだ試していないので、PowerShellを使用するかどうかはわかりませんが、Stack loveOverflowの仲間と愛を共有したかったのです。
以下のレジストリキーを追加することにより、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'"
以下は、以前のソリューションの簡潔な(および更新された)要約です。対処方法は次のとおりです。
これらの文字列とそれぞれの親キーを追加します。
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」キーを押した場合にのみ表示されるコマンドの「拡張」文字列を追加します。それ以外はすべて不要です。
別のオプションとして、TechNetのMichael Murgoloによる優れたElevation PowerToysがあります http://technet.Microsoft.com/en-us/magazine/2008.06.elevation.aspx 。
ここには、PowerShell Prompt HereとPowerShell Prompt Hereが管理者として含まれています。
かなり簡単な方法の1つは、ショートカットを介してPowerShellを呼び出すことです。ショートカットが呼び出されたときに使用するディレクトリ(フォルダー)を示す「開始」というラベルのショートカットプロパティがあります。
[開始]ボックスが空白の場合、現在のディレクトリを使用することを意味します。
通常の方法で最初にPowerShellへのショートカットを作成するとき、開始ボックスはホームディレクトリを指定します。ボックスの開始を空白にすると、現在のディレクトリでPSを開くpowershellへのショートカットがあります。
このショートカットをターゲットディレクトリにコピーし、エクスプローラーを使用して呼び出した場合、ターゲットディレクトリを指すPSを起動します。
この質問に対する回答はすでに受け入れられていますが、別の方法としてこれを提供します。
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を起動する方法 からダウンロードできます。
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