Jak uruchomić PowerShell z Eksploratora Windows?


259

Czy istnieje sposób uruchomienia programu PowerShell w określonym folderze z Eksploratora Windows, np. Kliknięcie folderu prawym przyciskiem myszy i wybranie opcji „Otwórz PowerShell w tym folderze”?

Naprawdę denerwujące jest zmienianie katalogów do folderu projektu przy pierwszym uruchomieniu MSBuild każdego dnia.


16
[Alt] [F + S + A], aby uruchomić PowerShell administratora w bieżącym folderze. Co najmniej dla systemu Windows 10.
Rosdi Kasim,

Odpowiedzi:


525

W Eksploratorze Windows po prostu przejdź do paska adresu u góry (skróty klawiaturowe: Alt+ Dlub Ctrl+ L) i wpisz powershelllub powershell_isenaciśnij Enter. Zostanie otwarte okno poleceń PowerShell z bieżącym katalogiem.


3
Gdy robię to w Win 7, Eksplorator Windows przenosi mnie do folderu, który mam o nazwie PowerShell!
Sabuncu

35
Jeśli korzystasz z systemu Windows 8 lub nowszego, możesz po prostu użyć wbudowanego pliku -> „Otwórz Windows Powershell”
Vivek Maharajh,

7
Nie działa również, jeśli masz profil PowerShell, który ustawia katalog startowy. Jeśli chcesz uruchomić bez profilu, możesz użyć „powershell -noprofile”, ale wtedy utracisz wszystkie ustawienia, które masz w profilu. Zawsze jest kompromis.
grahamesd

9
jakiś skrót, aby otworzyć go jako administrator?
Arsalan Ahmad

3
Zamiast programu PowerShell można również wpisać PowerShell_ise, który jest ładniejszy, ponieważ w końcu można go zmienić i ma odpowiednią czcionkę.
Michael S.

106

Aby dodać odwrotnie jako podstęp, w wierszu polecenia programu PowerShell możesz wykonać:

ii .

lub

start .

aby otworzyć okno Eksploratora Windows w bieżącym katalogu.


1
@EBGreen, co to iiznaczy?
Pacerier

5
Po wyświetleniu monitu PowerShell możesz po prostu wpisać: Get-Command ii, a zobaczysz, że jest to alias Invoke-Item.
EBGreen,

78

Jeśli korzystasz z systemu Windows 8 lub nowszego, możesz po prostu użyć wbudowanego pliku → „Otwórz program Windows PowerShell”.

Lub Alt+, Fa następnie R.


1
Tak. Podpiąłem również wersję „Uruchom jako administrator”.
Vivek Maharajh,

@Andrej, jak to robisz?
Pacerier

1
@Pacerier, prawym przyciskiem myszy na odpowiedniej pozycji menu (na przykład „Otwórz Windows PowerShell”).
Andrej

@Andrej, „przypinając”, masz na myśli opcję „Dodaj do paska narzędzi szybkiego dostępu”?
Pacerier

1
@Pacerier, jestem pewien, że o to mu chodzi. Możesz także przypiąć do paska zadań. Po otwarciu kliknij prawym przyciskiem myszy ikonę na pasku zadań i przypnij ją.
Vivek Maharajh


44

Alternatywnie do powyższej odpowiedzi, która wymaga każdorazowego wpisywania polecenia PowerShell ( powershell.exe ), możesz utworzyć pozycję menu kontekstowego, tak jak w menu kontekstowym „ Otwórz okno poleceń tutaj ”.

Istnieją trzy klucze rejestru, do których idą te polecenia. Każdy klawisz kontroluje menu kontekstowe innego obiektu Eksploratora Windows. Pierwszy to ten, o który pytałeś:

  • HKCR \ Directory \ Background \ shell - To jest menu kontekstowe samego okna Eksploratora (tzn. Menu kontekstowe wyświetlane, gdy żaden element nie jest zaznaczony, na przykład po kliknięciu prawym przyciskiem myszy w pustym obszarze okna).
  • HKCR \ Directory \ shell - To jest menu kontekstowe folderów w Eksploratorze Windows.
  • HKCR \ Drive \ shell - To jest menu kontekstowe ikon dysków w katalogu głównym Eksploratora Windows.

Dla każdego z tych kluczy rejestru można dodać podklucz, który doda polecenie „Otwórz tutaj okno PowerShell” do menu kontekstowego, podobnie jak menu kontekstowe „Otwórz okno polecenia tutaj”.

Oto kopia mojego pliku OpenPowerShellHere.reg , który umieszcza polecenie w menu kontekstowym każdego z obiektów Explorer, tła okna, folderu i ikony napędu:

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'"

Tak więc w swoim ulubionym edytorze tekstu otwórz nowy plik o nazwie OpenPowerShellHere.reg . Skopiuj dokładny tekst powyższego kodu, wklej go do nowego pliku i zapisz. (Chciałbym załączyć kopię pliku, ale nie mogłem ustalić, czy załączniki są możliwe.) Jeśli chcesz wykluczyć polecenie z jednego z wpisów, po prostu skomentuj odpowiednią sekcję średnikami. Moje komentarze pokazują każdą sekcję.

Po zapisaniu pliku uruchom go, klikając go dwukrotnie. Gdy pojawi się pytanie, powiedz, aby kontynuował. Jak tylko go uruchomisz, pojawią się pozycje menu kontekstowego!

Oto menu kontekstowe okna Eksploratora. Podkreśliłem polecenia konsoli i programu PowerShell. Jak widać, możesz także dodać pozycję menu kontekstowego, aby uruchomić okno poleceń z podwyższonym poziomem uprawnień, tj. Uruchom jako administrator .

Wpis PowerShell w menu kontekstowym Eksploratora

Uwaga : Pozycje menu kontekstowego są wyświetlane alfabetycznie, na podstawie ich kluczy rejestru. Kluczową nazwą podniesionej powłoki poleceń jest „ runas ”, dlatego pojawia się po wpisie PowerShell.

Uwaga : Jeśli masz otwarte okno eksploratora, konieczne może być jego zamknięcie i ponowne otwarcie, aby zmiany zostały wprowadzone.

Uwaga : W systemie Windows 7 HKCR\Directory\Shellnie działa, jeśli używasz zestawu narzędzi z boku eksploratora

(tj. Klikanie dokumentów pod nagłówkiem Biblioteki)

musisz nawigować za pomocą Computer -> C: -> to -> Some -> Target -> Directory


Jednym z problemów jest to, że kiedy otwieram okno PS za pomocą tego menu kontekstowego i wchodzę git help <cmd>, zrzuca plik pomocy HTML w oknie PS jako zwykły tekst. Kiedy korzystam z menu Start, to okno PS otwiera przeglądarkę tak, jak powinno.
ProfK

@ProfK, nie jestem pewien, co się tam dzieje, ponieważ nie używam „git”, jednak okno PS, które otwiera się za pomocą tego menu kontekstowego, jest identyczne z oknem PS, które otwiera się za pomocą menu Start, JEŻELI nie jesteś za pomocą programu PowerShell ISE po uruchomieniu z menu Start. W takim przypadku możesz zmienić plik „powershell.exe” w powyższym pliku rejestru na „powershell_ise.exe”. Jeśli używasz zwykłego programu PowerShell, nie ma różnicy, oprócz katalogu, w którym się uruchamiają. Polecenie menu Start rozpoczyna się w katalogu użytkownika, natomiast menu kontekstowe - w katalogu lokalnym.
geo

@ProfK, czy to możliwe, że to katalog początkowy robi różnicę? Jeśli masz coś w katalogu użytkownika na temat „git”, być może to jest różnica. Głównym celem menu kontekstowego jest otwarcie PS w katalogu LOKALNYM, ale jeśli polecenie „git” działa inaczej w zależności od katalogu, w którym się znajdujesz, może to być problem. Różnica między katalogami i różnica między PS i PS ISE to jedyne rzeczy, o których mogę myśleć.
geo

@geo Dziękuję za wszystkie opinie, ale zauważyłem, że podwójne kliknięcie plików HTML w Eksploratorze otwierało je w Notepad ++. Ustawiłem domyślną opcję „Otwórz za pomocą” na Chrome, ale jednocześnie zainstalowałem Posh-Git, a teraz moja pomoc Git otwiera się w Chrome, a nie PS. Smutną stroną jest to, że nie wiem, które zmieniły naprawione rzeczy.
ProfK

1
Skrypt PS, aby dodać monit z podwyższonym poziomem PS (usuń wiersz HasLUAShield dla nie-podniesionego) to @ powershellmagazine.com/2013/06/25/…
James Manning


14

W systemie Windows 10 zarówno wiersz poleceń, jak i wiersz programu PowerShell można znaleźć za pomocą paska menu, zarówno dla użytkowników niebędących administratorami, jak i administratorów. Te opcje będą miały ustawiony folder na aktualnie wybrany folder z Eksploratora.

Przynajmniej dla wersji szwedzkiej PowerShell jest otwierany za pomocą Alt F+I. Dla administratora PowerShell to Alt F+S+P.

Menu Windows PowerShell

Jeśli nie są to prawidłowe znaki, możesz nacisnąć i przytrzymać Altklawisz, aby zobaczyć prawidłowe znaki. dla każdego kroku pojawi się znak nakładający się na pozycję menu.


2
Jest to [Alt] [F + S + A] dla PowerShell administratora na moim Windows 10 (wersja angielska)
Rosdi Kasim

6

Chciałem, aby to menu kontekstowe działało tylko po kliknięciu i przytrzymaniu klawisza „SHIFT”, jak działa wbudowane menu kontekstowe „Otwórz okno poleceń tutaj”.

Jednak żadne z dostarczonych rozwiązań tego nie zrobiło, więc musiałem rzucić własny .regplik - skopiuj poniższy plik, zapisz go jako power-shell-here-on-shift.regi kliknij dwukrotnie.

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'"

tutaj otwórz skorupę mocy, przytrzymując Shift i naciskając prawy przycisk myszy


5

Wypróbuj PowerShell PowerToy ... Dodaje tutaj pozycję menu kontekstowego dla Open PowerShell .

Lub możesz utworzyć skrót, który otwiera PowerShell z folderem Start In będącym folderem Projekty.


3

Jest to jeszcze łatwiejsze w Windows 8.1 i Server 2012 R2.

Zrób to raz: kliknij pasek zadań prawym przyciskiem myszy, wybierz Właściwości. W zakładce nawigacji włączyć [✓] Wymienić wiersza polecenia Windows PowerShell w menu kiedy prawym przyciskiem myszy w lewym dolnym rogu lub naciśnij klawisz Windows + X .

Wtedy, gdy chcesz PowerShell szybką, uderzyć Win+X, I. (Lub Win+X, Adla monitu PowerShell administratora)


4
Fajny skrót, jednak nie uruchamia PowerShell w bieżącym folderze.
steenhulthin

3

Poniżej znajduje się zwięzłe (i zaktualizowane) podsumowanie wcześniejszych rozwiązań. Oto co robić:

Dodaj te ciągi i odpowiadające im klucze nadrzędne:

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

w tych lokalizacjach

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

Otóż ​​to. Dodaj ciągi „rozszerzone”, aby polecenia były widoczne tylko po przytrzymaniu klawisza „Shift”, wszystko inne jest zbędne.


3

Jest rozszerzenie Eksploratora Windows wykonane przez gościa, który tworzy narzędzia dla SVN, które przynajmniej otworzą okno wiersza polecenia.

Nie próbowałem tego jeszcze, więc nie wiem, czy to zrobi PowerShell, ale chciałem podzielić się miłością z moimi braćmi Stack Overflow:

http://tools.tortoisesvn.net/StExBar


2

Inną opcją są doskonałe narzędzia Elevation PowerToys autorstwa Michaela Murgolo w witrynie TechNet pod adresem http://technet.microsoft.com/en-us/magazine/2008.06.elevation.aspx .

Obejmują one Monituj o PowerShell tutaj i Monituj o PowerShell tutaj jako administrator.


Chociaż ten link może odpowiedzieć na pytanie, lepiej jest dołączyć tutaj istotne części odpowiedzi i podać link w celach informacyjnych. Odpowiedzi zawierające tylko łącze mogą stać się nieprawidłowe, jeśli połączona strona ulegnie zmianie.
Lundin

Jest to ważna kwestia do rozważenia przy publikowaniu linku; jednak powiązany artykuł zawiera autorytatywne pobieranie do narzędzia Elevation PowerToys, które jest zasadniczą częścią odpowiedzi.
Mark Larson

2

Dodając poniższe klucze rejestru, w Windows 10 udało mi się uzyskać opcję Otwórz PowerShell tutaj w SHIFT + RClickmenu kontekstowych. Po prostu skopiuj je do pustego pliku notatnika, a następnie zapisz jako .regplik i uruchom plik, aby dodać klucz. Powinien on działać od tego momentu. Niektóre z tych innych odpowiedzi mówią, że należy dodać klucz do HKCR \ Directory \ shell, ale okazało się, że dla mnie działało to tylko z kluczami wchodzącymi do 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."
}

Możesz pobrać szczegółowy skrypt z uruchamiania programu PowerShell z Eksploratora Windows


1

Jedną dość prostą alternatywą jest wywołanie programu PowerShell za pomocą skrótu. Istnieje właściwość skrótu oznaczona „Rozpocznij w”, która mówi, jakiego katalogu (folderu) użyć, gdy skrót zostanie wywołany.

Jeśli pole Rozpocznij w jest puste, oznacza to użycie bieżącego katalogu.

Po pierwszym utworzeniu skrótu do programu PowerShell w zwykły sposób, pole początkowe określa katalog domowy. Jeśli wyczyścisz pole „Rozpocznij w”, masz teraz skrót do programu PowerShell, który otwiera PS w bieżącym katalogu, cokolwiek to jest.

Jeśli teraz skopiujesz ten skrót do katalogu docelowego i użyjesz Eksploratora, aby go wywołać, uruchomisz PS wskazujący na katalog docelowy.

Odpowiedź na to pytanie jest już zaakceptowana, ale proponuję to jako inny sposób.


1

Dla użytkowników korzystających z auto-klucza, oto fragment, którego używam

Po naciśnięciu otwiera okno programu PowerShell Ctrl-Alt-T. (Testowane z Win10)

Jeśli „aktywne okno” to okno Eksploratora Windows, wówczas PowerShell zostanie otwarty w bieżącym folderze . W przeciwnym razie po prostu otwórz PowerShell w folderze domyślnym .

Sposób użycia: 1) Zainstaluj AutoHotkey i skopiuj to wklej do myscript.ahk 2) Zastąp <DefaultPath>wybraną ścieżką. 3) Uruchom skrypt.

; 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

Dziwię się, że nikt nie podał tej odpowiedzi, jest ona najprostsza. (Musi być rok.)

Wystarczy Shift + kliknięcie prawym przyciskiem myszy w Eksploratorze. Następnie możesz „Otwórz okno PowerShell tutaj”.

Domyślnie może być ustawiony na Wiersz polecenia. Jeśli tak, możesz to zmienić w Ustawieniach systemu Windows 10: przejdź do Personalizacja -> Pasek zadań i włącz „Zamień wiersz polecenia na Windows PowerShell w menu, kiedy kliknę prawym przyciskiem myszy przycisk Start lub naciśnij klawisz Windows + X”.


1

Windows 10 znacznie to ułatwił. Możesz albo:

  • [SHIFT] + [Kliknij prawym przyciskiem myszy] na folderze, a otrzymasz element menu Open PowerShell window here.

Lub możesz:

  • File-> Open Windows PowerShell.

I za bonus ...

Jeśli klikniesz prawym przyciskiem myszy File-> Open Windows PowerShell, możesz Add to Quick Access Toolbar:

wprowadź opis zdjęcia tutaj

Co umieszcza tutaj przydatną ikonę:

wprowadź opis zdjęcia tutaj

A teraz możesz po prostu kliknąć tę ikonę. :)

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.