2017-11-17 209 views
-1

我想如下运行PowerShell脚本:命令提示符窗口打开和关闭,同时立即运行PowerShell脚本

Start-Process -FilePath "C:\svn\Services\trunk\Services.In4m.Agent.Host\bin\agent.exe" -Argument --help 

有什么理由这可能发生。另外,如何编写脚本以便命令提示符窗口不会立即关闭?

+0

发生这种情况是因为agent.exe已完成并且已关闭。你可以试试-Wait – ArcSet

+0

随着-Wait也会关闭。对此的任何其他解决方案 –

+0

Powershell不承诺 - 等待请求 –

回答

1

看起来程序正在结束。如果该命令仅输出帮助文本并结束,则窗口将在完成时关闭。

最好的办法是从命令中捕获输出并将其显示给用户。

& "C:\svn\Services\trunk\Services.In4m.Agent.Host\bin\agent.exe" --help | Write-Host 

如果你想打开一个单独的窗口,等待用户按回车键关闭它,你可以做这样的事情:

Start-Process 
    -FilePath "powershell.exe" 
    -ArgumentList "& 'C:\svn\Services\trunk\Services.In4m.Agent.Host\bin\agent.exe' --help; Read-Host" 

这只是取决于你想要什么实现。

+0

命令窗口很快就会关闭。 –

+0

我正在尝试打开agent.exe并保存由agent.exe运行所触发的窗口 –

+0

上面的哪个命令运行过程中,窗口关闭时间过早结束?从命令行运行agent.exe时会发生什么,独立于PowerShell?它立即返回到命令提示符吗? –

0

在PowerShell脚本的末尾添加它:
它要求用户按任意键并等待,直到用户按下一个键。

Write-Host "Press any key to continue ...". 
$x = $host.UI.RawUI.ReadKey("NoEcho,IncludeKeyDown") 
+0

这将保存powershell窗口,而不是通过agent.exe生成的cmd窗口 –

+0

哦,你可以使用noexit标签。 – SparkWerk

+0

@the_coder_in_me问题听起来像你的程序。 – TheIncorrigible1

相关问题