CMD忽略批处理文件中的%符号 - 为什么?

时间:2015-01-13 07:20:26

标签: batch-file command-line parameters cmd

我发现这个命令用于循环当前文件夹中的所有目录:

FOR /D %G in ("assets\*") DO echo %G

当我将其输入CMD时,它会起作用,但当我将其保存在test.bat并运行该文件时,我得到:

C:\Projects>test.bat
G was unexpected at this time.

发生了什么?

1 个答案:

答案 0 :(得分:2)

在批处理文件中,您必须使用%%。这是因为单个百分比用于批处理文件和环境变量的命令行参数。解析器不是很好,所以我们必须转换for变量的百分号。

第3段help for中也记录了这一点:

  

要在批处理程序中使用FOR命令,请改为指定%%变量   %变量。