如何从 Windows 运行提示运行文件而不包含文件扩展名

如何从 Windows 运行提示运行文件而不包含文件扩展名

如果我有一个名为 PowerShell 脚本myscript.ps1并且它位于 PATH 中,我希望能够按Windows+ r,键入“myscript”,然后按enter。目前它要求我输入myscript.ps1,并且运行良好。

我发现了一些建议ftypeassocPATHEXT环境变量的答案,但这只会影响从命令提示符或 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 命令用于关闭窗口。

相关内容