楼 主
请大家看看这个批处理错在哪里
发表于 2007-03-13 00:26 · 中国 广东 深圳 宝安区 电信
高级用户
★★★
积分 793
发帖 312
注册 2004-09-02 00:00
21年会员
UID 31104
性别 男
状态 离线
下面的批处理是先将data_value1这个变量名称赋值给value2,然后通过引用
value2变量得出data_value1变量值(123456)。但实际上没有得到预期的结果。
请各位高手指教。
谢谢!
@echo off
set temp1=data
set data_value1=123456
set value2=%temp1%_value1
echo Value2变量名称为 %temp%_value1
echo Value2变量值 %%value2%%
pause
第 2 楼
发表于 2007-03-13 00:45 · 中国 广西 玉林 博白县 电信
金牌会员
★★★★
积分 3,687
发帖 1,467
注册 2005-08-08 12:00
20年会员
UID 44210
状态 离线
开始少了两个百分号
call echo Value2变量值 %%%value2%%%
[ Last edited by zh159 on 2007-3-12 at 03:54 PM ]
第 3 楼
发表于 2007-03-13 02:21 · 中国 广东 深圳 宝安区 电信
高级用户
★★★
积分 793
发帖 312
注册 2004-09-02 00:00
21年会员
UID 31104
性别 男
状态 离线
2楼朋友提出的方法仍然不行。
结果仍然是“Value2变量值 data_value1.
不是期望的123456。
第 4 楼
发表于 2007-03-13 02:32 · 中国 湖北 武汉 电信
版主
★★★★★
积分 11,386
发帖 4,938
注册 2006-07-23 17:10
20年会员
UID 59080
状态 离线
@echo off
setlocal enabledelayedexpansion
set temp1=data
set data_value1=123456
set value2=%temp1%_value1
echo Value2变量名称为 %temp1%_value1
echo Value2变量值 !%value2%!
pause
第 5 楼
发表于 2007-03-13 02:34 · 新西兰
初级用户
★
积分 107
发帖 47
注册 2007-03-03 03:12
19年会员
UID 80618
性别 男
状态 离线
第 6 楼
发表于 2007-03-13 03:33 · 中国 广东 深圳 宝安区 电信
高级用户
★★★
积分 793
发帖 312
注册 2004-09-02 00:00
21年会员
UID 31104
性别 男
状态 离线
Originally posted by lxmxn at 2007-3-13 02:32 AM:
@echo off
setlocal enabledelayedexpansion
set temp1=data
set data_value1=123456
set value2=%temp1%_value1
echo Value2变量名称为 %temp1%_value1
echo Value2变量 ...
还是lxmxn大侠厉害!
原来又是变量延迟惹的祸。
谢谢各位朋友!
第 7 楼
发表于 2007-03-13 04:53 · 中国 广西 玉林 博白县 电信
金牌会员
★★★★
积分 3,687
发帖 1,467
注册 2005-08-08 12:00
20年会员
UID 44210
状态 离线
二楼我少了两个百分号,改为:
call echo Value2变量值 %%%value2%%%
论坛跳转: