jenkins - 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 驱动器号的路径的正确方法是什么?或者是否有不同的方式需要处理?
解决方案
只需要使用/
而不是\\
. C:/Program Files/7-Zip/7z.exe
工作过
推荐阅读
- python - 创建一个具有所需长度的 pd.Series 对象
- java - HttpURLConnection 永远运行
- php - 如何更改随机邮政编码以防止重复
- linux - application/x-blender mime 类型不起作用,我做错了什么?
- python - 元组中的 datetime.time 显示 datetime.datetime 而不是值
- javascript - 如何比较打字稿类型?
- reactjs - 在反应中将带有参数的函数从父级传递给子级
- regex - 完成一个脚本在两个文件中搜索并提取一段数据的想法
- ios - iOS 照片 - 跨设备可靠识别
- node.js - 如何编写一个方法 X 等待另一个方法 Y 被调用并返回方法 Y 的结果?