在批处理文件中设置Bamboo变量

时间:2014-06-19 08:38:18

标签: batch-file variables bamboo

我试图在批处理文件中包含的脚本中设置竹子全局变量。这是批处理文件:

@echo off
echo Initial Date: %bamboo_releaseDate%

for /f "tokens=1-4 delims=/ " %%i in ("%date%") do (
     set dow=%%i
     set month=%%j
     set day=%%k
     set year=%%l
)
set mydate=%month%_%day%_%year%
echo %mydate%

set bamboo_releaseDate = %mydate%
echo Set up date: %bamboo_releaseDate%

这是我的输出:

Initial Date: 140617
06_19_2014
Set up date: 140617

如您所见,变量%bamboo_releaseDate%根本没有变化。 不知道是否可能,我该怎么做?

我的最终目标是在包含我每晚构建的文件夹的命名中使用此变量(使用标准' Artifact download'由Bamboo提供)。

我已修复了批处理问题,但更新后的值在脚本之后不可用。知道怎么做吗?

2 个答案:

答案 0 :(得分:2)

set bamboo_releaseDate = %mydate%
                      ^ ^

空格包含在变量名称和值中。因此,您要为新变量(在其名称中包含空格)赋值,而不是为现有变量(没有空格)赋值。替换为

set "bamboo_releaseDate=%mydate%"

现在,变量名称和值中没有空格,引用确保变量内容中没有附加的结尾空格。

答案 1 :(得分:0)

我认为日期解析存在问题。

在你的for循环中,尝试打印出%% i:

for /f "tokens=1-4 delims=/ " %%i in ("%date%") do (
 ECHO i=%%i
 ...
)

你得到了什么?

在批处理文件中使用%DATE%是危险的,因为格式取决于当前系统/用户设置