运行对话框执行PowerShell命令

4
有没有办法在打开运行框(Windows+R)时运行PowerShell命令?
我想要的是直接开始输入例如get-process,然后让它在PowerShell中执行该命令并显示结果(基本上是打开它而不关闭它)。
我知道你可以输入"powershell /noexit get-process"来实现这一点,但我想知道是否有一种方式让运行框意识到这是一个PowerShell命令,然后我只需要输入命令:get-process。
2个回答

5
可能有点晚了,但是您可以通过运行框架运行CMD命令,然后再通过CMD运行PowerShell命令。通过利用这个方法,您可以输入:
cmd /k PowerShell.exe "Your PowerShell command"

如果你不想让CMD窗口一直保持打开状态,可以使用/c代替/k。 最终效果可能如下图所示:点击查看


4

不可以直接让Windows+R理解PowerShell命令。

一种解决方法是创建一个批处理文件,内容如下:

@echo off
%systemroot%\System32\WindowsPowerShell\v1.0\powershell.exe -noexit -noprofile -noLogo "%1 %2 %3 %4 %5 %6 %7 %8"

将其命名为p.cmd并将其放置在您的路径中。

现在,您可以执行以下操作:

运行示例

p开头,然后输入要执行的PowerShell命令。


是的,Powershell.exe 在路径中,但使用完全限定的路径意味着Windows不必查找%path%中的所有位置来查找它。这可能只能节省几毫秒,但这是我做事情的方式。另外,如果有人将不同的powershell.exe添加到在%path%中列出的第一个位置,那么这可能会成为安全问题。 - Peter Hahndorf
1
一个微小的改进:使用 %* 代替 %1 %2 %3... 这样你可以传递任意数量的参数。 - jimmyfever

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接