如何在groovy文件中的bat命令中获取环境变量?

如何在groovy文件中的bat命令中获取环境变量?,groovy,jenkins-pipeline,Groovy,Jenkins Pipeline,这里是make de环境变量: environment { SERVICE_NAME = getServiceName() } 方法如下: def getServiceName() { String projectName = env.JOB_BASE_NAME print 'projectName '+projectName +'\n' String[] projectParts = projectName.tokenize( '-' ) Strin

这里是make de环境变量:

environment {
    SERVICE_NAME = getServiceName()
}
方法如下:

def getServiceName() {
    String projectName = env.JOB_BASE_NAME
    print 'projectName '+projectName  +'\n'
    String[] projectParts = projectName.tokenize( '-' )
    String bian = projectParts[1]
    String name = projectParts[0]+'-'+projectParts[1]+'-'+projectParts[2]
    return name
}
我需要在下一个bat命令中使用de SERVICE_NAME变量,但它给了我一个错误:

bat '''
                copy "C:\\Users\\""\\.jenkins\\workspace\\'"%env.SERVICE_NAME%"'\\target\\newman\\V2\\report.html" "C:\\server\\test\\'"env.SERVICE_NAME"'\\report_%date:~6,4%-%date:~3,2%-%date:~0,2%_%time:~0,2%_%time:~3,2%_%time:~6,2%.html"
                copy "C:\\Users\\""\\.jenkins\\workspace\\'"%env.SERVICE_NAME%"'\\target\\newman\\V2\\report.json" "C:\\server\\test\\'"env.SERVICE_NAME"'\\report_%date:~6,4%-%date:~3,2%-%date:~0,2%_%time:~0,2%_%time:~3,2%_%time:~6,2%.json"
            '''

错误是什么?我认为批处理命令无法识别
env.
。使用
%SERVICE\u NAME%
$env.SERVICE\u NAME
,在这两种情况下都不使用额外的引号。后者将允许Groovy对其进行插值,而不是使用Windows命令行。请尝试使用bat“”“echo%SERVICE\u NAME%”,然后我们继续前进。