如何在詹金斯管道中创建一个以日期戳作为文件名的目录?

Posted

技术标签:

【中文标题】如何在詹金斯管道中创建一个以日期戳作为文件名的目录?【英文标题】:how to create a directory with datestamp as its filename in jenkins pipeline? 【发布时间】:2021-10-05 03:27:51 【问题描述】:
bat 'set OutputFolderName=%date:~12,2%%date:~4,2%%date:~7,2%_%time:~0,2%%time:~3,2%%time:~6,2%'
bat 'mkdir %OutputFolderName%'

这两个命令应该给出正确的输出,但它们不起作用。 这是我得到的错误:

【问题讨论】:

【参考方案1】:

尝试多行bat命令如下:

bat """
    set OutputFolderName=%date:~12,2%%date:~4,2%%date:~7,2%_%time:~0,2%%time:~3,2%%time:~6,2%
    mkdir %OutputFolderName%
"""

编辑:使用快照更新

在此处查看我的管道快照:

管道控制台输出

创建一个类似这样的文件夹:

【讨论】:

Nope 仍然无法正常工作...令人惊讶的是这些命令在 jenkinsjob 中完美运行,但在管道脚本中却无法运行 我用快照更新了答案,显示了我用你的命令替换的管道命令是如何工作的。您的 Jenkins 服务或代理是否有权在工作区中创建文件夹?? 非常感谢!!!我之前在多行 bat 命令中犯了一个错误...(保留 3 个双引号而不是 3 个单引号)我改变了它,现在它工作正常

以上是关于如何在詹金斯管道中创建一个以日期戳作为文件名的目录?的主要内容,如果未能解决你的问题,请参考以下文章

Selenium:无法在 Jenkins 管道中创建用于下载的文件夹和文件

如何创建相当于詹金斯管道的竹子工作

如何记录在 Mongoose 模式中创建记录的时间戳?

在配置单元中创建一个带有时间戳作为注释的表

如何使用当前日期在 FTP 服务器中创建目录(文件夹)?

复制詹金斯管道项目