如何从Windows资源管理器启动PowerShell?

时间:2008-10-08 17:30:16

标签: windows powershell

有没有办法从Windows资源管理器中启动特定文件夹中的PowerShell,例如右键单击文件夹并选择“在此文件夹中打开PowerShell”?

每天第一次运行MSBuild时,必须将目录更改为我的项目文件夹真的很烦人。

21 个答案:

答案 0 :(得分:500)

在Windows资源管理器中,只需转到顶部的地址栏(键盘快捷键: Alt + D Ctrl + L )并输入powershellpowershell_ise,然后按 Enter 。将打开一个PowerShell命令窗口,其中包含当前目录。

答案 1 :(得分:101)

只需添加反向作为技巧,在PowerShell提示符下即可:

ii .

start .

在当前目录中打开Windows资源管理器窗口。

答案 2 :(得分:71)

如果您使用的是Windows 8或更高版本,则只需使用内置的文件→“打开Windows PowerShell”。

Alt + F 后跟 R

答案 3 :(得分:57)

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

Scott Hanselman有一个非常简单的inf会为你做这件事。如果你想调整脚本,那么很容易去编辑inf进行自定义。

答案 4 :(得分:41)

作为上述答案的替代方案,您需要每次都键入PowerShell命令( powershell.exe ),您可以创建一个上下文菜单条目,就像“打开一样命令窗口“上下文菜单。

这些命令有三个注册表项。每个键控制不同Windows资源管理器对象的上下文菜单。第一个是你问的问题:

  • HKCR \ Directory \ Background \ shell - 这是资源管理器窗口本身的上下文菜单(即,未选择任何项目时显示的上下文菜单,例如右键单击时在窗口的空白区域。)。
  • HKCR \ Directory \ shell - 这是Windows资源管理器中文件夹的上下文菜单。
  • HKCR \ Drive \ shell - 这是Windows资源管理器根目录中驱动器图标的上下文菜单。

对于这些注册表项中的每一个,您可以添加一个子项,该子项将“在此处打开PowerShell窗口”命令添加到上下文菜单中,就像您在此处打开“命令窗口”上下文菜单一样。

以下是我的 OpenPowerShellHere.reg 文件的副本,该文件将命令放在每个Explorer对象的上下文菜单中,窗口背景,文件夹和驱动器图标:

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 entry in Explorer context menu

注意:上下文菜单条目根据其注册表项按字母顺序显示。提升的命令shell的密钥名称是“ runas ”,这就是PowerShell条目之后的原因。

答案 5 :(得分:32)

您可以从此处下载inf文件 - Introducing PowerShell Prompt Here

答案 6 :(得分:12)

在Windows 10中,无论是管理员还是管理员,都可以通过菜单栏找到命令提示符和powershell提示符。这些选项将其文件夹设置为资源管理器中当前选定的文件夹。

至少对于瑞典语版本,powershell以 Alt F + I 打开。对于管理员来说,它是 Alt F + S + P

Windows Powershell menu

如果这些字符不正确,您可以按住 Alt 键查看正确的字符。每个步骤都会有一个覆盖菜单项的字符。

答案 7 :(得分: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'"

open power shell here while holding shift and pressing right click

答案 8 :(得分:5)

尝试PowerShell PowerToy ...它为 Open PowerShell Here 添加了一个上下文菜单项。

或者您可以创建一个快捷方式来打开PowerShell,其中Start In文件夹是您的Projects文件夹。

答案 9 :(得分:4)

在Windows 8.1和Server 2012 R2中更容易。

这样做一次: 右键单击任务栏,选择“属性”。在导航选项卡中,当我右键单击左下角或按Windows键+ X 时,启用菜单中的 [✓]替换命令提示符和Windows PowerShell。

然后,无论何时需要PowerShell提示,请按 Win + X I 。 (或 Win + X A 用于管理员PowerShell提示)

答案 10 :(得分:3)

由一个为SVN制作工具的家伙制作的Windows资源管理器扩展程序至少会打开一个命令提示符窗口。

我还没有尝试过,所以我不知道它是否会做PowerShell,但我想与Stack Overflow兄弟分享这份爱:

http://tools.tortoisesvn.net/StExBar

答案 11 :(得分:2)

另一个选择是Michael Murgolo在TechNet上http://technet.microsoft.com/en-us/magazine/2008.06.elevation.aspx出色的Elevation PowerToys。

它们包括PowerShell Prompt Here和PowerShell Prompt Here以管理员身份。

答案 12 :(得分:2)

以下是早期解决方案的简明(和更新)总结。这是做什么的:

添加这些字符串及其各自的父键:

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)

那就是它。添加&#34;扩展&#34;命令的字符串只有在您按住&#34; Shift&#34;关键,其他一切都是多余的。

答案 13 :(得分:2)

Windows 10使其变得更加容易。您可以:

  • 在文件夹上按[SHIFT] + [右键单击],将获得菜单项Open PowerShell window here

或者您可以:

  • File-> Open Windows PowerShell

还有一个奖励...

如果右键单击File-> Open Windows PowerShell,则可以Add to Quick Access Toolbar

enter image description here

在此处放置一个方便的图标

enter image description here

现在您只需单击该图标即可。 :)

答案 14 :(得分:1)

一个相当简单的选择是通过快捷方式调用PowerShell。有一个标记为“Start in”的快捷方式属性,说明调用快捷方式时要使用的目录(文件夹)。

如果“开始时间”框为空,则表示使用当前目录。

当您第一次以常规方式创建PowerShell的快捷方式时,框中的开头指定主目录。如果你在开始框中删空,你现在有了一个PowerShell的快捷方式,可以在当前目录中打开PS,无论是什么。

如果您现在将此快捷方式复制到目标目录,并使用资源管理器调用它,您将启动一个指向目标目录的PS。

这个问题已经有了一个公认的答案,但我提供了另一种方式。

答案 15 :(得分:1)

通过添加下面的注册表项,在Windows 10中,我设法在SHIFT + RClick上下文菜单中获取Open PowerShell Here选项。 只需将这些文件复制到一个空白的记事本文件中,然后保存为.reg文件并运行该文件以添加密钥,它应该可以在那里工作。 其中一些答案说要将密钥添加到 HKCR \ Directory \ shell 中,但我发现对我来说它只适用于进入 HKLM \ SOFTWARE \ Classes \ Directory \ shell <的密钥/ strong>

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

答案 16 :(得分: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."
}

您可以从how to start PowerShell from Windows Explorer

下载详细信息脚本

答案 17 :(得分:1)

对于autohotkey用户,这是我正在使用的片段

按下Ctrl-Alt-T时会打开PowerShell窗口。 (使用Win10测试)

如果您的&#34;活动窗口&#34;是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

答案 18 :(得分:0)

我创建了一个完全自动化的解决方案来添加PS和CMD上下文项。 只需运行set_registry.cmd,当单击文件夹中或某些打开的文件夹中的RMB时,它将更新注册表以添加两个按钮: enter image description here

这会将注册表项的所有者更改为admin并添加上下文菜单
Change registry to enable PS and CWD context menus

答案 19 :(得分:0)

只有这在 Windows 10 上对我有用...

创建一个名为 PowershellHereContextMenu.reg 的文件,内容如下,右键单击它并“合并”。

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

答案 20 :(得分:-1)

我很惊讶没有人给出这个答案,这是最简单的答案。 (必须是年份。)

只需Shift +右键单击资源管理器。然后,您可以“在此处打开PowerShell窗口”。

默认情况下可以将其设置为“命令提示符”。如果是这样,您可以在Windows 10设置中更改此设置:转到“个性化”->“任务栏”,然后启用“当我右键单击开始按钮或按Windows键+ X时,使用菜单中的Windows PowerShell替换命令提示符”。