如何在groovy中访问powershell脚本的退出代码

时间:2017-05-19 14:47:33

标签: powershell groovy

我有一个PowerShell脚本如下:

Write-Output "Hello"
Start-Sleep -s 2
exit 1

我想访问powershell脚本在我的groovy文件中设置的退出代码。目前我的groovy文件如下:

println "Hello World!"

smokeTestELB()

def smokeTestELB(){
    println "before call"

    def powerShellCommand = '.\\power.ps1'
    def shellCommand = "powershell.exe -ExecutionPolicy Bypass -NoLogo -NonInteractive -NoProfile -Command \"${powerShellCommand}\""
    def process = shellCommand.execute()
    process.waitFor()

    println process.outputStream

    println "after call"
}

println "This is after powershell script has executed!"

但是,当我尝试访问并打印process.outputStream时,我没有获得预期的退出代码。

我的示例输出如下:

enter image description here

不确定如何从powershell访问退出代码到我的groovy脚本中。非常感谢任何帮助。

谢谢!

1 个答案:

答案 0 :(得分:0)

经过多次googeling后我找到了答案...感谢帖子写在这里: https://blogs.oracle.com/vaibhav/not-as-easy-as-we-thought-powershell-from-java-runtime

基本上,您必须使用'println process.exitValue()'并打印退出代码。

请注意,process这个词是特定于此解决方案的。