我尝试在一个批处理文件中包含的脚本中设置一个竹子全局变量。以下是批处理文件:
@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‘)。
我已经修复了批处理的问题,但在脚本之后更新的值不可用。你知道怎么做吗?
发布于 2014-06-19 16:44:34
set bamboo_releaseDate = %mydate%
^ ^
空格包含在变量名和值中。因此,您是在为一个新变量(其名称中包含一个空格)赋值,而不是为现有变量(没有空格)赋值。替换为
set "bamboo_releaseDate=%mydate%"
现在,变量名中没有空格,变量值中也没有空格,引号确保变量内容中没有额外的结尾空格。
发布于 2014-06-19 16:46:21
我认为日期解析有问题。
在for循环中,尝试打印%%i:
for /f "tokens=1-4 delims=/ " %%i in ("%date%") do (
ECHO i=%%i
...
)
你得到的是啥?
在批处理文件中使用%data%是危险的,因为格式取决于当前系统/用户设置
https://stackoverflow.com/questions/24302255
复制相似问题