标题: 请大家看看这个批处理错在哪里
[打印本页]
作者: willsion
时间: 2007-3-13 00:26
标题: 请大家看看这个批处理错在哪里
下面的批处理是先将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
作者: zh159
时间: 2007-3-13 00:45
开始少了两个百分号
call echo Value2变量值 %%%value2%%%
Last edited by zh159 on 2007-3-12 at 03:54 PM ]
作者: willsion
时间: 2007-3-13 02:21
2楼朋友提出的方法仍然不行。
结果仍然是“Value2变量值 data_value1.
不是期望的123456。
作者: lxmxn
时间: 2007-3-13 02:32
@echo off
setlocal enabledelayedexpansion
set temp1=data
set data_value1=123456
set value2=%temp1%_value1
echo Value2变量名称为 %temp1%_value1
echo Value2变量值 !%value2%!
pause
作者: nzisisco
时间: 2007-3-13 02:34
楼上正解 应该用变量延迟
作者: willsion
时间: 2007-3-13 03:33
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大侠厉害!
原来又是变量延迟惹的祸。
谢谢各位朋友!
作者: zh159
时间: 2007-3-13 04:53
二楼我少了两个百分号,改为:
call echo Value2变量值 %%%value2%%%