簡體   English   中英

在Jenkins Groovy腳本中,如何從批處理文件中獲取返回值

[英]In Jenkins Groovy script, how can I grab a return value from a batch file

我希望獲取在Jenkins管道Groovy腳本中執行的批處理文件的結果。

我知道我可以這樣做:

def result = "pem.cmd Test_Application.pem".execute().text

但是,我需要運行一批命令並獲取批處理文件的結果。 上面的示例只有一個命令。 我需要先更改目錄,然后使用參數執行“ cmd”文件。 因此,我嘗試了以下操作:

def cmd = new StringBuilder()
cmd.append("CD \"${path}\"\n")
cmd.append("IF %ERRORLEVEL% NEQ 0 EXIT /B %ERRORLEVEL%\n")
cmd.append("pem.cmd Test_Application.pem\n")
//echo bat(returnStdout: true, script: cmd.toString())
def result = bat cmd.toString()
echo result

即使日志顯示命令確實返回了結果,“ result”變量仍為null。 我知道我可以將批處理文件的結果輸出到文本文件,然后讀取文本文件,但是我只想看看是否可以像上面那樣嘗試獲取結果。 任何幫助表示贊賞。

好的,我的工作方式如下:

def cmd = new StringBuilder()
cmd.append("CD \"${path}\"\n")
cmd.append("pem.cmd Test_Application.pem\n")

def x = bat(
    returnStdout: true,
    script: "${cmd.toString()}"
)

echo x

做到了。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM