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
不好意思我想错了```