【问题标题】:powershell invoke-expression java program get statuspowershell 调用表达式 java 程序获取状态
【发布时间】:2017-10-13 00:13:06
【问题描述】:

我正在使用 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 程序的运行状态?

谢谢。

【问题讨论】:

  • 不要使用Invoke-Expression。在这种情况下是不必要的。

标签: java powershell status


【解决方案1】:

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

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

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

希望对您有所帮助。

【讨论】:

    猜你喜欢
    • 2016-08-25
    • 1970-01-01
    • 1970-01-01
    • 2021-09-21
    • 1970-01-01
    • 2011-10-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多