我正在尝试在批处理文件中包含的脚本中设置竹全局变量。这是批处理文件:
@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%根本没有变化。知道是否可能,我该怎么办?
我的最终目标是在包含我的夜间构建的文件夹的命名中使用此变量(使用Bamboo提供的标准“神器下载”)。
我已修复批处理问题,但脚本后更新的值不可用。知道怎么做吗?
set bamboo_releaseDate = %mydate%
^ ^
空格包含在变量名称和值中。因此,您要为新变量(在其名称中包含空格)赋值,而不是为现有变量(没有空格)赋值。用。。。来代替
set "bamboo_releaseDate=%mydate%"
现在,变量名称和值中没有空格,引用确保变量内容中没有附加的结束空间。
我认为日期解析存在问题。
在你的for循环中,尝试打印出%% i:
for /f "tokens=1-4 delims=/ " %%i in ("%date%") do (
ECHO i=%%i
...
)
你得到了什么?
在批处理文件中使用%DATE%是危险的,因为格式取决于当前系统/用户设置