首页 > 解决方案 > Jenkins Groovy 脚本无法识别 Windows Drive

问题描述

在 my 中使用以下 groovy 脚本Jenkinsfile来执行一些文件操作以准备我的构建包:

pipeline {
    agent any    
    stages {
        stage('package-windows') {
            when {
                expression { isUnix() == false && env.JOB_NAME == 'my-job-webapi'}
            }
            steps {
                bat label: 'unzip all files', script: 'FOR /R .\\archive %%I IN (*.zip) DO "C:\\Program Files\\7-Zip\\7z.exe" x "%%I" -aou -o"%%~dpI\\*"'               
            }
        }        
    }
}

当我运行作业时,它失败并出现以下错误:

\Program was unexpected at this time.

C:\Program Files (x86)\Jenkins\workspace\my-job-webapi>FOR /R .\archive \Program Files\7-Zip\7z.exe" x "~dpI\*"[Pipeline] }

由于某种原因,它无法识别C:路径中的驱动器号"C:\\Program Files\\7-Zip\\7z.exe"。在 Groovy 脚本中提供带有 Windows 驱动器号的路径的正确方法是什么?或者是否有不同的方式需要处理?

标签: jenkinsgroovyjenkins-pipelinejenkins-groovy

解决方案


只需要使用/而不是\\. C:/Program Files/7-Zip/7z.exe工作过


推荐阅读