我遵循了这个post关于如何使用EnvInject插件创建和设置Jenkins环境变量的建议。我正在使用"注入环境变量"在后期构建步骤中设置"属性文件路径"
Windows批处理脚本创建环境变量OPS
并将其写入属性文件:results.txt
,其中包含多行,如:
OPS= This is line one,
This is two
This is three
挑战:OPS
仅从results.txt中获取第一行并跳过其余行。
如何设置OPS将所有行都作为其值?
cd C:\To\Test\Class\Path
java utilities.LogExtractor>ops.txt
@echo off
setlocal EnableDelayedExpansion
set LF=^
rem *** Two empty lines are required for the linefeed
FOR /F "delims=" %%a in (ops.txt) do (
set var=!var!!LF!%%a
)
set var=!var!!LF!
echo OPS=!var! > %JENKINS_HOME%\jobs\%JOB_NAME%\builds\%BUILD_NUMBER%\results.txt
我设置了"属性文件路径"到%JENKINS_HOME%\jobs\%JOB_NAME%\builds\%BUILD_NUMBER%\results.txt
答案 0 :(得分:2)
从source code开始,我会说它使用java.util.Properties加载文件,调用load方法。文档说你可以使用反斜杠转义换行符,所以使用
OPS= This is line one,\
This is two\
This is three
应该足够了。 (注意,省略了行开头的空格。)