我试图在批处理文件中包含的脚本中设置竹子全局变量。这是批处理文件:
@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提供)。
我已修复了批处理问题,但更新后的值在脚本之后不可用。知道怎么做吗?
答案 0 :(得分:2)
set bamboo_releaseDate = %mydate%
^ ^
空格包含在变量名称和值中。因此,您要为新变量(在其名称中包含空格)赋值,而不是为现有变量(没有空格)赋值。替换为
set "bamboo_releaseDate=%mydate%"
现在,变量名称和值中没有空格,引用确保变量内容中没有附加的结尾空格。
答案 1 :(得分:0)
我认为日期解析存在问题。
for /f "tokens=1-4 delims=/ " %%i in ("%date%") do (
ECHO i=%%i
...
)
你得到了什么?
在批处理文件中使用%DATE%是危险的,因为格式取决于当前系统/用户设置