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