windows batch:使用特殊字符回显多行变量(来自jenkins的JiraRelease Notes)

时间:2015-07-30 07:35:39

标签: windows batch-file jenkins echo jira

我在Jenkins中使用JiraPlugin来生成ReleaseNotes,我在Jenkins中的构建作业使用批处理文件。

在执行的批处理文件中,当我发出set时,我可以看到varibale与Jira发行说明一起存在。但它是多行的,以#字符开头。

我的目标是做一个 echo %RELEASE_NOTES_JENKINS% > ReleaseNotes.txt

但这永远不会奏效。我尝试在变量周围使用!!而不是%%,但这也不起作用。当我尝试回显变量时,我得到ECHO is off.。 同样,set确实使用正确的内容显示它:

RELEASE_NOTES_JENKINS=# New Feature
 - [XXXX-3525] Blahblahblah
 - [XXXX-3268] Blahblahblah
 - [XXXX-3119] Blahblahblah
# UNKNOWN
 - [XXXX-3545] [security] Blahblahblah
...

Jenkins在Windows 7 Server上运行。 这是Windows批处理(cmd.exe)特有的,因为当Jenkins在Linux环境中运行时,只需将变量管道传输到文件即可。

关于如何使这项工作的任何想法?

2 个答案:

答案 0 :(得分:2)

尝试

SET RELEASE_NOTES_JENKINS > ReleaseNotes.txt

而不是echo

答案 1 :(得分:0)

延迟扩展应该有效:

setlocal enableDelayedExpansion
echo !RELEASE_NOTES_JENKINS!>releasenotes.txt