我使用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程序运行的状态?
感谢。
答案 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。
希望有所帮助。