是否可以通过Windows资源管理器在特定文件夹中启动PowerShell,例如右键单击文件夹并具有“在此文件夹中打开PowerShell”之类的选项?
每天第一次运行MSBuild时,必须将目录更改为我的项目文件夹真的很烦。
是否可以通过Windows资源管理器在特定文件夹中启动PowerShell,例如右键单击文件夹并具有“在此文件夹中打开PowerShell”之类的选项?
每天第一次运行MSBuild时,必须将目录更改为我的项目文件夹真的很烦。
Answers:
在Windows资源管理器中,只需转到顶部的地址栏(键盘快捷键:Alt+ D或Ctrl+ L),然后输入powershell
或powershell_ise
,然后按Enter。将打开一个PowerShell命令窗口,其中包含当前目录。
只需添加一个反向技巧即可,在PowerShell提示符下,您可以执行以下操作:
ii .
要么
start .
在当前目录中打开Windows资源管理器窗口。
ii
意思?
如果您使用的是Windows 8或更高版本,则只需使用内置文件 →“打开Windows PowerShell”。
或Alt+ F后跟R。
http://www.hanselman.com/blog/IntroducingPowerShellPromptHere.aspx
Scott Hanselman有一个非常简单的inf可以为您完成此操作。如果要调整脚本,则可以很容易地编辑inf以进行自定义。
作为上述答案的替代方法(需要您每次键入PowerShell命令(powershell.exe)),可以像使用“ 在此处打开命令窗口 ”上下文菜单一样创建上下文菜单项。
这些命令放在三个注册表项中。每个键控制另一个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命令。如您所见,您还可以添加上下文菜单项来运行提升的命令窗口,即以管理员身份运行。
注意:上下文菜单项将根据其注册表项按字母顺序显示。提升的命令外壳的键名是“ runas ”,这就是为什么它在PowerShell条目之后出现。
注意:如果您打开了资源管理器窗口,则可能需要关闭然后重新打开它才能使更改生效。
注意:在Windows 7中,HKCR\Directory\Shell
如果您使用资源管理器侧面的工具包,则该工具不起作用
(即,单击“库”标题下的“文档”)
您必须使用 Computer -> C: -> to -> Some -> Target -> Directory
git help <cmd>
,它将HTML帮助文件作为纯文本转储到PS窗口中。当我使用开始菜单时,该PS窗口将按预期方式打开浏览器。
在Windows 10中,对于非管理员和管理员,都可以通过菜单栏找到命令提示符和Powershell提示符。这些选项会将其文件夹设置为资源管理器中当前选择的文件夹。
至少对于瑞典语版本,将通过打开Powershell Alt F+I。对于管理员来说,它是Alt F+S+P。
如果这些字符不正确,则可以按住Alt键查看正确的字符。每个步骤的菜单项上都会覆盖一个字符。
我希望仅在右键单击并按住 “ 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'"
尝试使用PowerShell PowerToy ...。它将在此处为“ 打开PowerShell”添加上下文菜单项。
或者,您可以创建一个快捷方式来打开PowerShell,并将“开始于”文件夹作为“项目”文件夹。
在Windows 8.1和Server 2012 R2中甚至更容易。
只需执行一次:在任务栏上单击鼠标右键,选择“属性”。当我右键单击左下角或按Windows键+ X时,在“导航”选项卡中,打开菜单中的[✓]使用Windows PowerShell替换命令提示符。
然后,当你想要一个PowerShell提示符下,命中Win+X,I。(或者Win+X,A对于Admin PowerShell提示)
以下是较早解决方案的简要(和更新)总结。这是做什么的:
添加以下字符串及其各自的父键:
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”键时可见,其他所有都是多余的。
花花公子制作的Windows Explorer扩展程序为SVN制作了工具,该扩展程序至少会打开命令提示符窗口。
我还没有尝试过,所以我不知道它是否可以使用PowerShell,但是我想与我的Stack Overflow弟兄分享这份爱:
另一个选择是Michael Murgolo在TechNet上的出色Elevation PowerToys,网址为http://technet.microsoft.com/en-us/magazine/2008.06.elevation.aspx。
它们包括“ PowerShell在此处提示”和“ PowerShell在此处提示管理员”。
通过在Windows 10中添加以下注册表项,我设法在上下文菜单中获得了“ 在此处打开PowerShell”选项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'"
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."
}
您可以从Windows资源管理器中下载如何启动PowerShell的详细脚本
按下时,它将打开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