Как запустить PowerShell из проводника Windows? - PullRequest
243 голосов
/ 08 октября 2008

Есть ли способ запустить PowerShell в определенной папке из проводника Windows, например, щелкнуть правой кнопкой мыши в папке и иметь опцию типа «Открыть PowerShell в этой папке»?

Действительно раздражает необходимость менять каталоги в папке моего проекта при первом запуске MSBuild каждый день.

Ответы [ 17 ]

3 голосов
/ 05 января 2009

Есть расширение для Windows Explorer, созданное чуваком, который создает инструменты для SVN, которые по крайней мере откроют окно командной строки.

Я еще не пробовал, поэтому я не знаю, подойдет ли он для PowerShell, но я хотел поделиться любовью с моими братьями по переполнению стека:

http://tools.tortoisesvn.net/StExBar

2 голосов
/ 10 ноября 2016

Ниже приводится краткое (и обновленное) суммирование предыдущих решений. Вот что нужно сделать:

Добавьте эти строки и соответствующие им родительские ключи:

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 голосов
/ 10 июля 2012

Другим вариантом являются отличные Elevation PowerToys Майкла Мурголо на TechNet по адресу http://technet.microsoft.com/en-us/magazine/2008.06.elevation.aspx.

Они включают подсказку PowerShell здесь и подсказку PowerShell здесь от имени администратора.

1 голос
/ 08 ноября 2016
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."
}

Вы можете скачать подробный скрипт из , как запустить PowerShell из Windows Explorer

1 голос
/ 18 января 2016

Добавив ключи реестра ниже, в Windows 10 мне удалось получить опцию Open PowerShell Here в моих контекстных меню SHIFT + RClick. Просто скопируйте их в пустой файл блокнота, затем сохраните как файл .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'"
1 голос
/ 24 июня 2017

Для пользователей autohotkey, вот фрагмент, который я использую

Открывает окно PowerShell при нажатии Ctrl-Alt-T. (Протестировано с Win10)

Если ваше «активное окно» является окном Windows Explorer, то PowerShell открывается в текущей папке . В противном случае просто откройте 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 голос
/ 24 сентября 2013

Одна довольно простая альтернатива - вызывать PowerShell с помощью ярлыка. Существует свойство ярлыка с именем «Начать с», в котором указано, какой каталог (папка) следует использовать при вызове ярлыка.

Если поле Start In пустое, это означает использование текущего каталога.

Когда вы впервые создаете ярлык для PowerShell обычным способом, в поле «Начать с» указывается домашний каталог. Если вы очистите поле start in, у вас появится ярлык для powershell, который открывает PS в текущем каталоге, что бы это ни было.

Если вы сейчас скопируете этот ярлык в целевой каталог и используете проводник для его вызова, вы запустите PS, который указывает на целевой каталог.

Уже есть принятый ответ на этот вопрос, но я предлагаю это как-то иначе.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...