我想用参数运行新的PowerShell窗口。我试图运行以下内容:
powershell -Command "get-date"
但一切都发生在同一个控制台中。有一种简单的方法可以做到这一点吗?
答案 0 :(得分:3)
使用start
命令。在CMD提示符中,尝试:
start powershell -noexit -command "get-date"
对于开始/运行(或Win + r)提示,请尝试:
cmd /c start powershell -noexit -command "get-date"
-noexit
会告诉Powershell,不要退出。如果省略此参数,将执行该命令,您可能只看到一个Powershell窗口的一瞥。对于交互式使用,这是必须的。对于脚本,不需要它。
修改强>
start
是CMD的内部命令。在Powershell中,它是Start-Process
的别名。这些不是一回事。
至于为什么窗口是黑色的,那是因为Powershell.exe的快捷方式配置为将背景设置为蓝色。
答案 1 :(得分:2)
要从PowerShell打开新的PowerShell窗口:
Start-Process PowerShell
或者我最喜欢的个人
Start-Process PowerShell -WindowStyle Maximized
然后您可以键入Get-Date
,而不必处理-ArgumentList关闭自身的趋势。我仍然没有找到一种方法来使用-ArgumentList参数打开新的PowerShell进程,而无需在运行后立即关闭它。例如:
Start-Process PowerShell -ArgumentList "Get-Date"
或者简单地
Start-Process PowerShell -ArgumentList Get-Date
运行该过程后将立即关闭。
为了让它在关闭之前等待,您可以添加:
Start-Process PowerShell -ArgumentList 'Get-Date; Read-Host "Press Enter"'
由于在这种情况下-Wait参数似乎根本不起作用。
仅供参考-PowerShell建议的语法实际上是:
Start-Process -FilePath "powershell.exe"
但是由于PowerShell是%SystemRoot%\ system32环境变量中的标准Windows应用程序,因此命令行应该可以识别一个简单的
Powershell
命令