powershell invoke-expression java程序获取状态

时间:2017-10-13 00:13:07

标签: java powershell status

我使用Invoke-Expression运行来自powershell的jar:

$line="c:\temp\my file.txt"
$cmd="java -jar C:\temp\post.jar `"" +  $line + "`""
invoke-expression $cmd

如果我测试$?它只会给我Invoke-Expression的状态,这将永远是成功的,因为可以找到java可执行文件和post.jar。

另外,我已经想过直接运行java程序并测试$?,但有时文件名可能非常复杂,有时我会添加额外选项。

如何获取post.jar程序运行的状态?

感谢。

1 个答案:

答案 0 :(得分:0)

您可以尝试通过以下方式检查流程的退出代码:

$p = Start-Process java -ArgumentList '-jar C:\temp\post.jar',$file -Wait -PassThru
$p.ExitCode

基于-PassThru,您将收到一个System.Diagnostics.Process - 对象,该对象应包含jar的退出代码。有关详细信息,请参阅Start-Process cmdlet description

希望有所帮助。