Board logo

标题: for语句在cmd下面不能正确执行?? [打印本页]

作者: alex0007     时间: 2007-6-14 11:03    标题: for语句在cmd下面不能正确执行??
真奇怪,for语句在cmd下面不能正确执行。放在bat中正确执行。何解

for %%a in (%windir%\system32\*.dll) do echo %%a

此语句,在cmd下面不能正确执行,提示如下:

D:\>for %%a in (%windir%\system32\*.dll) do echo %%a
此时不应有 %%a。

但把语句放在bat文件下面再执行此bat文件却可行?

哪位大侠能解释一下吗??

作者: wudixin96     时间: 2007-6-14 11:17
在P处理里。变量是这样表示的。%%a

而在cmd命令行下,是这样表示的。%a

作者: Climbing     时间: 2007-6-14 11:57
楼主太不厚道了,怎么一个问题问两次。

这是常识啊,在cmd下直接执行,元变量要使用单个%号,即不能是%%a,而应该是%a。

而在批处理里,则要使用双%号,也就是%%a,如果使用%a也会出错的。

作者: alex0007     时间: 2007-6-14 12:03
非常感谢。。

作者: alex0007     时间: 2007-6-14 17:02
晕。。估计是网络的问题。。早上发了。。没反应。。(浏览器出错,)以为没发成功。。就再发了一次。。