Hoe start ik PowerShell vanuit Windows Verkenner?

Is er een manier om PowerShell te starten in een specifieke map vanuit Windows Verkenner, b.v. om met de rechtermuisknop in een map te klikken en een optie te hebben zoals “Open PowerShell in deze map”?

Het is echt vervelend om de mappen naar mijn projectmap te moeten veranderen als ik MSBuild voor het eerst elke dag start.


Antwoord 1, autoriteit 100%

Ga in Windows Verkenner naar de adresbalk bovenaan (sneltoetsen: Alt+Dof Ctrl+L) en typ powershellof powershell_iseen druk op Enter. Er wordt een PowerShell-opdrachtvenster geopend met de huidige map.


Antwoord 2, autoriteit 20%

Om als truc het omgekeerde toe te voegen, kunt u na een PowerShell-prompt het volgende doen:

ii .

of

start .

om een Windows Explorer-venster in uw huidige map te openen.


Antwoord 3, autoriteit 16%

Als u Windows 8 of hoger gebruikt, kunt u eenvoudig het ingebouwde Bestand→ “Windows PowerShell openen”.

Of Alt+ Fgevolgd door R.


Antwoord 4, autoriteit 9%

Als alternatief voor het bovenstaande antwoord, waarbij u elke keer de PowerShell-opdracht (powershell.exe) moet typen, kunt u een contextmenu-item maken, net als bij de “Open opdrachtvenster hier” contextmenu.

Er zijn drie registersleutels waar deze opdrachten naartoe gaan. Elke toets bestuurt het contextmenu van een ander Windows Verkenner-object. De eerste is degene waar je naar hebt gevraagd:

  • HKCR \ Directory \ Background \ Shell – Dit is het contextmenu voor het explorer-venster zelf (dat wil zeggen het contextmenu dat wordt weergegeven wanneer er geen item is geselecteerd, zoals wanneer u met de rechtermuisknop wordt geselecteerd in een leeg gebied van het venster).
  • HKCR \ Directory \ Shell – Dit is het contextmenu van de mappen in Windows Verkenner.
  • HKCR \ ADRICE \ Shell – Dit is het contextmenu voor de schijfpictogrammen in de root van Windows Explorer.

Voor elk van deze registersleutels kunt u een subsleutel toevoegen die een “Open PowerShell-venster hier” is toegevoegd aan het contextmenu, net zoals u een “Open Command Window hier” hebt.

Hier is een kopie van mijn OpenpowerShellhere.reg -bestand, die de opdracht plaatst in het contextmenu van elk van de Explorer-objecten, de vensterachtergrond, de map en het schijfpictogram:

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

Dus, met je favoriete teksteditor, open je een nieuw bestand met de naam OpenPowerShellHere.reg. Kopieer de exactetekst van de bovenstaande code, plak deze in het nieuwe bestand en sla het op. (Ik zou een kopie van het bestand hebben toegevoegd, maar ik kon niet achterhalen of bijlagen mogelijk waren.) Als u de opdracht wilt uitsluitenvan een van de items, hoeft u alleen maar commentaar te geven op de juiste sectie met puntkomma’s. Mijn opmerkingen tonen je elke sectie.

Nadat u het bestand heeft opgeslagen, voert u het uit door erop te dubbelklikken. Wanneer het vraagt, vertel het dan om door te gaan. Zodra u het uitvoert, verschijnen de contextmenu-items!

Hier is het contextmenu van mijn Explorer-venster. Ik heb de console- en PowerShell-opdrachten gemarkeerd. Zoals u kunt zien, kunt u ook een contextmenu-item toevoegen om een verhoogd opdrachtvenster uit te voeren, d.w.z. Uitvoeren als beheerder.

Opmerking: Contextmenu-items worden alfabetisch weergegeven, op basis van hun registersleutels. De sleutelnaam voor de verhoogde opdrachtshell is “runas“, daarom komt het na het PowerShell-item.

Opmerking: als je een verkennervenster hebt geopend, moet je het mogelijk sluiten en opnieuw openen om de wijziging door te voeren.

Opmerking: In Windows 7 werkt de HKCR\Directory\Shellniet als u de toolkit aan de zijkant van de verkenner gebruikt

(dwz klikken op Documenten onder de kop Bibliotheken)

je moet navigeren met Computer -> C: -> to -> Some -> Target -> Directory


Antwoord 5, autoriteit 6%

Je kunt het inf-bestand hier downloaden – Introducing PowerShell Prompt Here


Antwoord 6, autoriteit 3%

In Windows 10 zijn zowel de opdrachtprompt als de powershell-prompt te vinden via de menubalk, zowel voor niet-beheerders als voor beheerders. Bij deze opties wordt de map ingesteld op de momenteel geselecteerde map van de verkenner.

In ieder geval voor de Zweedse versie wordt de powershell geopend met AltF+I. Voor een beheerders-powershell is dit AltF+S+P.

Als dit niet de juiste tekens zijn, kunt u de Alt-toets ingedrukt houden om de juiste tekens te zien. er zal een teken zijn dat het menu-item voor elke stap overlapt.


Antwoord 7

Het verbaast me dat niemand dit antwoord heeft gegeven, het is het eenvoudigste. (Moet het jaar zijn.)

Gewoon Shift + rechtermuisknop in Verkenner. Dan kunt u “Open PowerShell-venster hier”.

Het kan standaard zijn ingesteld op Opdrachtprompt. Zo ja, dan kunt u dit wijzigen in de Windows 10 Instellingen: ga naar Personalisatie -> Taakbalk en schakel “Opdrachtprompt vervangen door Windows PowerShell in het menu in wanneer ik met de rechtermuisknop op de startknop klik of op Windows-toets+X druk”.


Antwoord 8

Windows 10 maakte het veel gemakkelijker. U kunt ofwel:

  • SHIFT+ Klik met de rechtermuisknopop een map en u krijgt een menu-item Open PowerShell window here.

Of je kunt:

  • File-> Open Windows PowerShell.

En voor een bonus …

Als u Muis met de rechtermuisknop op op File- & GT; Open Windows PowerShell, dan kunt u Add to Quick Access Toolbar:

die hier een handig pictogram plaatsen:

En nu kunt u gewoon op dat pictogram klikken. 🙂


Antwoord 9

Ik wilde dit contextmenu alleen laten werken wanneer met de rechtermuisknop en houden de 'Shift' die is hoe het ingebouwde 'open opdrachtvenster hier' contextmenu werkt .

Heeft geen van de verstrekte oplossingen dat deed, dus ik moest mijn eigen .regbestand - kopiëren hieronder, opslaan als power-shell-here-on-shift.regen dubbelklik erop.

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


Antwoord 10

Probeer de PowerShell PowerToy ... Het voegt een context toe Menu-item voor Open PowerShell hier .

Of u kunt een snelkoppeling maken die PowerShell opent met de start in de map die uw projectmap is.


Antwoord 11

Het is nog eenvoudiger in Windows 8.1 en Server 2012 R2.

Doe dit één keer:
Klik met de rechtermuisknop op de taakbalk, kies Eigenschappen. Schakel op het tabblad Navigatie [✓] Opdrachtprompt vervangen door Windows PowerShell in het menu in wanneer ik met de rechtermuisknop in de linkerbenedenhoek klik of op Windows-toets+Xdruk.

Vervolgens wanneer u een PowerShell-prompt wilt, drukt u op Win+X, I. (Of Win+X, Avoor een Admin PowerShell-prompt)


Antwoord 12

Er is een Windows Explorer-extensie gemaakt door de man die tools voor SVN maakt die op zijn minst een opdrachtpromptvenster openen.

Ik heb het nog niet geprobeerd, dus ik weet niet of het geschikt is voor PowerShell, maar ik wilde de liefde delen met mijn Stack Overflow-broeders:

http://tools.tortoisesvn.net/StExBar


Antwoord 13

In de recentere versies heeft Windows 10 standaard "Open PowerShell-venster hier" in het contextmenu wanneer u Shift+Met de rechtermuisknop kliktop een lege ruimte, en je zou nu toch al Windows Terminalmoeten gebruiken.


Antwoord 14

Een andere optie zijn de uitstekende Elevation PowerToys van Michael Murgolo op TechNet op http ://technet.microsoft.com/en-us/magazine/2008.06.elevation.aspx.

Ze omvatten PowerShell Prompt Here en PowerShell Prompt Here als beheerder.


Antwoord 15

Door de onderstaande registersleutels toe te voegen, in Windows 10, slaagde ik erin om de Open PowerShell Hereoptie in mijn SHIFT + RClickcontextmenu's.
Kopieer deze gewoon in een leeg Notepad-bestand en sla vervolgens op als een .regBestand en voer het bestand uit om de sleutel toe te voegen en het zou vanaf daar moeten werken.
Sommige van deze andere antwoorden zeggen om de sleutel toe te voegen in HKCR \ Directory \ Shell Maar ik ontdekte dat het voor mij alleen werkte met de sleutels die in 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'"

Antwoord 16

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."
}

U kunt het detailscript downloaden van hoe u PowerShell start vanuit Windows Verkenner


Antwoord 17

Een vrij eenvoudig alternatief is om PowerShell aan te roepen via een snelkoppeling. Er is een snelkoppelingseigenschap met het label "Start in" die aangeeft welke map (map) moet worden gebruikt wanneer de snelkoppeling wordt aangeroepen.

Als het vak Start in leeg is, betekent dit dat u de huidige map moet gebruiken.

Als u voor het eerst op de gebruikelijke manier een snelkoppeling naar PowerShell maakt, geeft het vak start in de basismap aan. Als je het start in-vak leegmaakt, heb je nu een snelkoppeling naar powershell die PS in de huidige map opent, wat dat ook is.

Als je nu deze snelkoppeling naar de doelmap kopieert en verkenner gebruikt om hem op te roepen, start je een PS die naar de doelmap wijst.

Er is al een geaccepteerd antwoord op deze vraag, maar ik bied dit aan als een andere manier.


Antwoord 18

Voor gebruikers van autosneltoetsen, hier is een fragment dat ik gebruik

Het opent het PowerShell-venster wanneer u op Ctrl-Alt-Tdrukt. (Getest met Win10)

Als uw "actieve venster" een Windows Verkenner-venster is, wordt de PowerShell geopend in de huidige map. Open anders gewoon PowerShell in een standaardmap.

Gebruik: 1) Installeer AutoHotkey en kopieer en plak dit in myscript.ahk 2) Vervang <DefaultPath>door een pad naar keuze. 3) Voer het script uit.

; 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

Antwoord 19

Ik heb een volledig geautomatiseerde oplossing voor de PS en CMD context items toe te voegen.
Start gewoon set_registry.cmd en het zal registry updaten naar twee knoppen toe te voegen wanneer klik RMB op map of binnen enkele geopende map:

Dit zal eigenaar van registersleutels wijzigen admin en voeg context menu's
Change register PS en CVO context menu's in te schakelen


Antwoord 20

Alleen dit werkte voor mij op Windows 10 ...

Een bestand met de naam PowershellHereContextMenu.reg met de onderstaande inhoud, klik met de rechtermuisknop op het en "Samenvoegen".

Windows Registry Editor Version 5.00
;
; Add context menu entry to Windows Explorer folders
;
[HKEY_CLASSES_ROOT\Directory\shell\powershellmenu]
@="PowerShell Here"
[HKEY_CLASSES_ROOT\Directory\shell\powershellmenu\command]
@="C:\\\\Windows\\\\system32\\\\WindowsPowerShell\\\\v1.0\\\\powershell.exe -NoExit -Command Set-Location -LiteralPath '%L'"
;
; Add context menu entry to Windows Explorer background
;
[HKEY_CLASSES_ROOT\Directory\Background\shell\powershellmenu]
@="PowerShell Here"
"NoWorkingDirectory"=""
[HKEY_CLASSES_ROOT\Directory\Background\shell\powershellmenu\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\powershellmenu]
@="PowerShell Here"
"NoWorkingDirectory"=""
[HKEY_CLASSES_ROOT\Drive\shell\powershellmenu\command]
@="C:\\Windows\\System32\\WindowsPowerShell\\v1.0\\powershell.exe -NoExit -Command Set-Location -LiteralPath '%V'"

Other episodes