中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

中国DOS联盟论坛
现在时间是 2026-06-14 01:07
中国DOS联盟论坛 » 其它操作系统综合讨论区 » for语句在cmd下面不能正确执行??
楼 主 for语句在cmd下面不能正确执行?? 发表于 2007-06-14 11:03 ·  中国 广东 佛山 顺德区 电信
初级用户
积分 104
发帖 40
注册 2007-06-07 01:47
UID 90518
性别 男
状态 离线
真奇怪,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文件却可行?

哪位大侠能解释一下吗??
2 发表于 2007-06-14 11:17 ·  中国 浙江 衢州 中移铁通
银牌会员
★★★
积分 1,928
发帖 931
注册 2007-01-06 11:46
UID 75624
性别 男
状态 离线
在P处理里。变量是这样表示的。%%a

而在cmd命令行下,是这样表示的。%a
3 发表于 2007-06-14 11:57 ·  中国 河北 保定 联通
铂金会员
★★★★
网络独行侠
积分 6,962
发帖 2,753
注册 2003-04-16 00:00
UID 1565
性别 男
来自 河北保定
状态 离线
楼主太不厚道了,怎么一个问题问两次。

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

而在批处理里,则要使用双%号,也就是%%a,如果使用%a也会出错的。
偶只喜欢回答那些标题和描述都很清晰的帖子!
如想解决问题,请认真学习“这个帖子”和“这个帖子”并努力遵守,如果可能,请告诉更多的人!
4 发表于 2007-06-14 12:03 ·  中国 广东 佛山 顺德区 电信
初级用户
积分 104
发帖 40
注册 2007-06-07 01:47
UID 90518
性别 男
状态 离线
非常感谢。。
5 发表于 2007-06-14 17:02 ·  中国 广东 佛山 顺德区 电信
初级用户
积分 104
发帖 40
注册 2007-06-07 01:47
UID 90518
性别 男
状态 离线
晕。。估计是网络的问题。。早上发了。。没反应。。(浏览器出错,)以为没发成功。。就再发了一次。。
论坛跳转: