为什么shell中的执行给出了在批处理脚本中执行的不同结果?

时间:2016-09-28 13:00:01

标签: windows loops batch-file cmd echo

我想列出目录及其子目录中的所有.csv文件。当我在cmd终端中运行它时,它运行良好:

for /f %a in ('dir /b /s *.csv') do (echo %a)

当我将相同的代码行放入(否则为空)文本文件(.cmd)并运行该.cmd文件时,它会输出一个空行,但不会列出任何文件。

为什么我将命令放入脚本或直接在终端中输入它们会有所不同?

认为这可能是一个延迟扩展问题,我也尝试了for /f %a in ('dir /b /s *.csv') do (echo !a!),但这也没有列出文件。

有什么想法吗?

1 个答案:

答案 0 :(得分:2)

将批处理文件中的百分号加倍!

for /f %%a in ('dir /b /s *.csv') do (echo %%a)