Як запустити PowerShell з Провідника Windows?


259

Чи є спосіб запустити PowerShell у певній папці з Провідника Windows, наприклад, клацнути правою кнопкою миші в папці та мати такий варіант, як "Відкрити PowerShell у цій папці"?

Дійсно дратувати, коли я маю змінити каталоги в моїй папці проектів під час першого запуску MSBuild кожного дня.


16
[Alt] [F + S + A], щоб запустити панель адміністратора в поточній папці. Щонайменше для Windows 10.
Росді Касім

Відповіді:


525

У Windows Explorer просто перейдіть до адресного рядка вгорі (комбінації клавіш: Alt+ Dабо Ctrl+ L) та введіть powershellабо powershell_iseнатисніть Enter. Відкриється вікно команди PowerShell з поточним каталогом.


3
Коли я це роблю на Win 7, Провідник Windows переносить мене в папку, яку я назвав PowerShell!
Сабунку

35
Якщо ви перебуваєте у Windows 8 чи пізніших версіях, ви можете просто скористатися вбудованим файлом -> "Відкрити Powershell Windows"
Vivek Maharajh

7
Він також не працює, якщо у вас є профіль PowerShell, який встановлює каталог запуску. Якщо ви хочете запустити без профілю, ви можете скористатись "powershell -noprofile", але тоді ви втратите будь-які налаштування у профілі. Завжди є розпродаж.
grahamesd

9
будь-який ярлик, щоб відкрити його як адміністратор?
Арсалан Ахмад

3
Замість powerhell ви також можете ввести powershell_ise, що приємніше, оскільки він остаточно змінює розмір і має належний шрифт.
Майкл С.

106

Просто додати в зворотному порядку як хитрість, у запиті PowerShell ви можете:

ii .

або

start .

щоб відкрити вікно Провідника Windows у вашому поточному каталозі.


1
@EBGreen, що iiозначає?
Печер'є

5
Ну, у запиті на powerhell ви можете просто ввести: Get-Command ii, тоді ви побачите, що це псевдонім для Invoke-Item.
EBGreen

78

Якщо у вас є Windows 8 або новішої версії, ви можете просто використовувати вбудований файл → "Відкрити Windows PowerShell".

Або Alt+ Fза ними R.


1
Так. Я також закріпив версію "Запустити як адміністратор".
Vivek Maharajh

@Andrej, як це робити?
Pacerier

1
@Pacerier, натискаючи правою кнопкою миші відповідний пункт меню (наприклад, "Відкрити Windows PowerShell").
Андрій

@Andrej, "Прикладаючи", ви маєте на увазі опцію "Додати до панелі інструментів швидкого доступу"?
Печер'є

1
@Pacerier, я майже впевнений, що саме він має на увазі. Ви також можете закріпити на панелі завдань. Відкривши його, клацніть правою кнопкою миші на піктограмі на панелі завдань та закріпіть її.
Vivek Maharajh

57

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

У Скотта Хензельмана справді простий інф, який зробить це за вас. Якщо ви хочете налаштувати сценарій, перейти та відредагувати інформацію для налаштувань дуже просто.


Чи можете ви надати резюме (наприклад, гниття посилань завжди є проблемою)?
Пітер Мортенсен

Що таке "інф" (у цьому контексті)?
Пітер Мортенсен

44

Як альтернатива вищевказаній відповіді, яка вимагає від вас вводити команду PowerShell ( powershell.exe ) кожен раз, ви можете створити запис контекстного меню так само, як у контекстному меню " Відкрити вікно команд тут ".

Існують три ключі реєстру, куди йдуть ці команди. Кожна клавіша керує контекстним меню іншого об’єкта Windows Explorer. Перший - це той, про кого ви запитали:

  • HKCR \ Directory \ Background \ shell - це контекстне меню для самого вікна Провідника (тобто контекстного меню, яке відображається, коли не вибрано жодного елемента, наприклад, при натисканні правою кнопкою миші в порожній частині вікна).
  • HKCR \ Каталог \ оболонка - Це контекстне меню папок у Провіднику Windows.
  • HKCR \ Drive \ shell - це контекстне меню для піктограм накопичувача у корені 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 . Скопіюйте точний текст коду вище, вставте його у новий файл та збережіть його. (Я включив би копію файлу, але я не зміг зрозуміти, чи можливі вкладення.) Якщо ви хочете виключити команду з одного із записів, просто прокоментуйте відповідний розділ крапкою з комою. Мої коментарі показують вам кожен розділ.

Після збереження файла запустіть його, двічі клацнувши на ньому. Коли він попросить, скажіть, щоб продовжити. Як тільки ви запустите його, з'являться записи контекстного меню!

Ось моє контекстне меню вікна Провідника. Я виділив команди консолі та PowerShell. Як ви бачите, ви також можете додати запис у контекстне меню, щоб запустити підвищене вікно команди, тобто запустити як адміністратор .

Запис PowerShell у контекстному меню Провідника

Примітка . Записи контекстного меню відображаються в алфавітному порядку на основі їхніх ключів реєстру. Ключова назва для підвищеної командної оболонки - " runas ", тому вона з’являється після запису PowerShell.

Примітка . Якщо у вас відкрито вікно провідника, можливо, вам потрібно буде закрити його і знову відкрити, щоб зміни вступили в силу.

Примітка . У Windows 7 HKCR\Directory\Shellфункція не працює, якщо ви використовуєте інструментарій збоку провідника

(тобто натискання Документів під заголовком Бібліотеки)

Ви повинні перейти за допомогою Computer -> C: -> to -> Some -> Target -> Directory


Однією з проблем є те, що коли я відкриваю вікно PS за допомогою цього контекстного меню, і вводя git help <cmd>, він скидає файл довідки html у вікно PS у вигляді простого тексту. Коли я використовую меню "Пуск", це вікно PS відкриває браузер, як і належить.
ПрофК

@ProfK, я не впевнений, що там відбувається, оскільки я не використовую 'git', однак, вікно PS, яке відкривається за допомогою цього контекстного меню, є ІДЕНТИЧНИМ для вікна PS, яке відкривається за допомогою меню «Пуск», ПІДНЯТЬ використовуючи PowerShell ISE під час запуску із меню "Пуск". Якщо це так, ви можете змінити "powershell.exe" у наведеному вище файлі реєстру на "powershell_ise.exe". Якщо ви використовуєте звичайний PowerShell, то немає різниці, крім каталогу, в якому вони починаються. Команда меню Пуск запускається у вашому каталозі користувачів, тоді як контекстне меню починається в локальному каталозі.
гео

@ProfK, чи можливо, що це важлива причина для початкового каталогу? Якщо у вашому користувальницькому каталозі є щось, що стосується 'git', можливо, саме в цьому різниця. Вся мета контекстного меню полягає в тому, щоб відкрити PS в каталозі LOCAL, але якщо команда 'git' працює інакше, залежно від каталогу, в якому ви перебуваєте, це може бути проблемою. Різниця в каталозі та різниця між PS та PS ISE - це єдине, про що я можу придумати.
гео

@geo Дякую за всі відгуки, але я виявив, що подвійне клацання HTML-файлів у Провіднику відкриває їх у Notepad ++. Я встановив за умовчанням "Відкрити з" для Chrome, але я також встановив Posh-Git одночасно, і тепер моя довідка про Git відкривається в Chrome, а не в PS. Сумна сторона - я не знаю, що змінило виправлені речі.
ПрофК

1
Сценарій PS для додавання підвищеного PS-запиту (видаліть рядок HasLUAShield для не підвищених) є @ powershellmagazine.com/2013/06/25/…
James Manning


14

У Windows 10 і командний рядок, і рядок повноважень можна знайти через панель меню, як для не адміністратора, так і для адміністратора. Ці параметри матимуть папку, встановлену в поточно вибраній папці від провідника.

Щонайменше для шведської версії, корпус повноважень відкритий за допомогою Alt F+I. Для повноважень адміністратора це Alt F+S+P.

Меню Powershell для Windows

Якщо це не правильні символи, ви можете натиснути і утримувати Altклавішу, щоб побачити правильні символи. на кожному кроці буде накладено символ, який накладає пункт меню.


2
Це [Alt] [F + S + A] для адміністратора повноважень на моїй Windows 10 (англійська версія)
Rosdi Kasim

6

Мені хотілося, щоб це контекстне меню працювало лише при натисканні правою кнопкою миші та утримуванні кнопки "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'"

відкрийте оболонку живлення тут, утримуючи зрушення та натискаючи правою кнопкою миші


5

Спробуйте PowerShell PowerToy ... Тут додано пункт контекстного меню для Open PowerShell Here .

Або ви можете створити ярлик, який відкриє PowerShell, коли папка "Пуск" є вашою папкою "Проекти".


3

Ще простіше в Windows 8.1 та Server 2012 R2.

Зробіть це один раз: клацніть правою кнопкою миші на панелі завдань, виберіть "Властивості". На вкладці навігації включите [✓] Замінити командний рядок з допомогою Windows PowerShell в меню при натисканні правої кнопки миші на лівий нижній кута або натисніть клавішу Windows , + X .

Тоді щоразу , коли ви хочете PowerShell швидкого, удар Win+X, I. (Або Win+X, Aдля запиту адміністратора PowerShell)


4
Хороший ярлик, однак це не запускає PowerShell у поточній папці.
steenhulthin

3

Далі - стисле (та оновлене) підсумок попередніх рішень. Ось що робити:

Додайте ці рядки та їхні батьківські ключі:

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", все інше зайве.


3

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

Я ще не пробував цього, тому не знаю, чи це зробить PowerShell, але я хотів поділитися коханням зі своїми братами Stack Overflow:

http://tools.tortoisesvn.net/StExBar


2

Інший варіант - відмінні підйомні PowerToys Майкла Мурголо на TechNet за адресою http://technet.microsoft.com/en-us/magazine/2008.06.elevation.aspx .

Вони включають PowerShell Prompt Here та PowerShell Prompt Here як адміністратора.


Хоча це посилання може відповісти на питання, краще включити сюди суттєві частини відповіді та надати посилання для довідки. Відповіді лише на посилання можуть стати недійсними, якщо пов’язана сторінка зміниться.
Лундін

Це дійсний момент, який слід враховувати при публікації посилання; однак, пов'язана стаття містить авторитетне завантаження на Elevation PowerToys, що є суттєвою частиною відповіді.
Марк Ларсон

2

Додавши ключі реєстру нижче, в 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
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

Одна досить проста альтернатива - викликати PowerShell за допомогою ярлика. Існує властивість ярлика з написом "Почати в", яка говорить про те, який каталог (папку) використовувати для виклику ярлика.

Якщо поле "Почати в" порожнє, це означає використовувати поточний каталог.

Коли ви вперше створюєте ярлик для PowerShell звичайним способом, у вікні start вказується домашній каталог. Якщо ви заповнюєте поле "Пуск" у вікні, тепер у вас є ярлик до командної панелі, що відкриває PS у поточному каталозі, що б там не було.

Якщо ви зараз скопіюєте цей ярлик в цільовий каталог і скористаєтеся Explorer, щоб викликати його, ви запустите PS, який спрямований на цільовий каталог.

На це питання вже прийнята відповідь, але я пропоную це як інший спосіб.


1

Для користувачів автоматичної клавіші є фрагмент, який я використовую

Вона відкриває вікно PowerShell при натисканні Ctrl-Alt-T. (Протестовано з Win10)

Якщо ваше "активне вікно" - це вікно провідника Windows, то 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

Я здивований, що ніхто не дав такої відповіді, це найпростіша. (Має бути рік.)

Просто клавіша Shift + клацніть правою кнопкою миші в Провіднику. Потім ви можете "Відкрити вікно PowerShell тут".

За замовчуванням може бути встановлено командний рядок. Якщо це так, ви можете змінити це в Налаштуваннях Windows 10: перейдіть у меню Персоналізація -> Панель завдань та увімкніть «Замінити командний рядок Windows PowerShell у меню, коли я клацну правою кнопкою миші кнопку запуску або натисніть клавішу Windows + X».


1

Windows 10 значно полегшила ситуацію. Ви можете:

  • [SHIFT] + [Клацніть правою кнопкою миші] на папці, і ви отримаєте пункт меню Open PowerShell window here.

Або ви можете:

  • File-> Open Windows PowerShell.

І за бонус ...

Якщо ви клацніть правою кнопкою миші на File-> Open Windows PowerShell, ви можете Add to Quick Access Toolbar:

введіть тут опис зображення

Тут розміщено зручну піктограму:

введіть тут опис зображення

А тепер ви можете просто натиснути цей значок. :)

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.