Board logo

标题: 变量不能赋值?什么问题? [打印本页]

作者: ruisoft     时间: 2007-6-8 14:43    标题: 变量不能赋值?什么问题?
dir D:\Documents /a /b > doc.txt

FOR /F " DELIMS=," %%T IN (doc.txt) DO (
set var="%USER-HOST%-%USER-IP%-%USER-MAC%-%USER-DATE%-%USER-TIME%-%%T"
echo %var%

)

上述代码执行时,变量 var 是空值,请问什么地方错了?

作者: lxmxn     时间: 2007-6-8 14:45
call echo %var% 试试。

作者: wudixin96     时间: 2007-6-8 14:50
是call echo %%var%%吧?

作者: ruisoft     时间: 2007-6-8 14:51
仍然不行。:(

:(:(:(

作者: zasxcdfv     时间: 2007-6-8 15:04
@echo off
setlocal enabledelayedexpansion

dir D:\ /a /b > doc.txt

FOR /F " DELIMS=," %%T IN (doc.txt) DO (
set var="%USER-HOST%-%USER-IP%-%USER-MAC%-%USER-DATE%-%USER-TIME%-%%T"
echo !var!

)

作者: ruisoft     时间: 2007-6-8 15:18
为什么这儿要用“!”才行?

用“%”就不行?

作者: zasxcdfv     时间: 2007-6-8 15:46
我也是初学者~
这个问题主要是刚刚遇到过,变量延迟的时候不能用%。关于变量延迟的帖子版里有不少,lz可以看看~