Board logo

标题: 还是关于变量延迟的问题(for里面的!var!无法取值) [打印本页]

作者: ifan     时间: 2008-7-20 00:42    标题: 还是关于变量延迟的问题(for里面的!var!无法取值)

@echo off & setlocal EnableDelayedExpansion

set currentDir=F:\Music\Vitas
echo !currentDir!
for /r !currentDir! %%f in (*.mp3) do echo %%f
@echo on & enclocal



上面的红色部分换成 %currentDir% 就好了,为什么用感叹号引用的就不行呢?
但是绿色部分又是可以用的,这是为什么呢?
作者: WANKOILZ     时间: 2008-7-20 01:27
把echo !currentdir! 改成echo !currentdir! %%%%看是什么效果。
作者: ifan     时间: 2008-7-20 08:41
回楼上,没有任何效果
echo !currentdir!
结果:F:\Music\Vitas

echo !currentdir! %%%%
结果:F:\Music\Vitas %%

后面的依然不行
作者: bat-zw     时间: 2008-7-20 09:10
确实如此!
但这样可以:for /r %!currentDir!% %%f in (*.mp3) do echo %%f
看来cmd仅把!currentDir!当作一串字符来处理了。

[ Last edited by zw19750516 on 2008-7-20 at 09:31 AM ]
作者: WANKOILZ     时间: 2008-7-20 10:17
不好意思我想错了```