Java 无法替换批处理文件中的参数值-PostBuildScript插件

Java 无法替换批处理文件中的参数值-PostBuildScript插件,java,jenkins,continuous-integration,jenkins-plugins,Java,Jenkins,Continuous Integration,Jenkins Plugins,我正在使用Jenkins中的插件在后期构建操作中触发一些windows批处理命令 我在作业的生成后操作中添加了执行脚本 这是我在directory.bat中编写的,用当前时间+环境+作业名创建一个目录 for /f "tokens=1* delims=" %%a in ('date /T') do set datestr=%%a set time=%TIME:~0,2%"_"%TIME:~3,2% mkdir D:\Report_Backup\%date:/=%"_"%time%"_"%En

我正在使用Jenkins中的插件在后期构建操作中触发一些windows批处理命令

我在作业的生成后操作中添加了执行脚本

这是我在directory.bat中编写的,用当前时间+环境+作业名创建一个目录

for /f "tokens=1* delims=" %%a in ('date /T') do set datestr=%%a

set time=%TIME:~0,2%"_"%TIME:~3,2%

mkdir D:\Report_Backup\%date:/=%"_"%time%"_"%Environment%"_"%JOB_NAME%\%test-results

xcopy "D:\bvt_workspace\project-name\test-results" D:\Report_Backup\%date:/=%"_"%time%"_"%Environment%"_"%JOB_NAME%\test-results /E /S /Q /Y
不幸的是,环境和作业名称没有被替换。但若我在构建步骤中的executewindowsbatch命令中替换相同的代码,那个么它会像一个符咒一样工作

注意:我不能添加多个构建步骤,因为我正在使用一个步骤来触发构建

有什么想法,如何让它工作吗?

这听起来像个问题

建议的解决方法是将插件配置为将所需的环境变量作为参数传递给批处理脚本,在您的情况下:

D:\directory.bat $Environment $JOB_NAME
在directory.bat的开头:

set Environment=%1
set JOB_NAME=%2
...