如果我有一个名为 PowerShell 脚本myscript.ps1
并且它位于 PATH 中,我希望能够按Windows+ r,键入“myscript”,然后按enter。目前它要求我输入myscript.ps1
,并且运行良好。
我发现了一些建议ftype
、assoc
和PATHEXT
环境变量的答案,但这只会影响从命令提示符或 PowerShell 运行的脚本,而不会影响从 explore.exe 的运行提示符运行的脚本。
我猜想有一些注册表设置,但我不知道该搜索什么,因为fileext
有数百个条目。我还搜索了.bat
批处理文件自动运行,但我没有发现任何明显的内容。
我以为我已经HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\KindMap
通过添加 .ps1 值并将其设置为program
.bat、.cmd、.com 和 .exe 找到了它,所有这些都是这样设置的,但没有骰子(即使重新启动计算机后也是如此)。
我还注意到 .bat、.cmd、.exe、.lnk 和 .msi 各自都设置HKCR\<app-handler-id>\shellex\PropertySheetHandlers\ShimLayer Property Page
为{513D916F-2A8E-4F51-AEAB-0CBC76FB1AF8}
,但将其添加到HKCR\Microsoft.Powershell.1
也不值得。
答案1
我发现最好的方法是在.bat 中使用以下命令:
start wt your-command
exit
我使用 Windows 终端,因为我比常规 powershell 更喜欢它的操作方式,但它也适用于 powershell 而不是 wt。如果我从打开的 cmd shell 运行它,则 exit 命令用于关闭窗口。