求助:dos命令中使用for在命令行可以执行但是在bat, cmd文件中不能执行

for /f %a in ('dir /b') do echo %a
写了这样一个命令,本来do后面是写的别的命令,为了简单,改成echo %a 。在命令行中输入可以执行,得到预期效果。可是写在bat文件中只是一闪而过,看到显示命令语法不正确。尝试了其他的命令for /r %a in (.) do echo %a,也是一闪而过。不知是何缘故,请指教。
解决了。

第1个回答  2010-01-13
for /f %%a in ('dir /b') do echo %%a
请看帮助
for /?
在批处理文件中使用 FOR 命令时,指定变量请使用 %%variable
而不要用 %variable。变量名称是区分大小写的,所以 %i 不同于 %I.本回答被提问者采纳
第2个回答  2010-01-12
在批处理中 for语句要 加两个 %%,因为编译批处理的时候要屏蔽一个%号。
相似回答