为什么%%会自动更改为生成的BATCH中的单个%?

时间:2014-09-07 16:53:49

标签: windows variables batch-file command-line parameters

我不明白为什么当我从主文件生成新的批处理文件时,一个参数(%% A)会自动更改为单个(%A)

Prime批处理文件:

echo FOR %%A in (1k\*.txt) do ... (whatever) >> another.bat

结果我成了一个新的another.bat单行:

FOR %A in (1k\*.txt)

而另一个.bat并不起作用。我该如何解决这个问题?

谢谢!

2 个答案:

答案 0 :(得分:0)

for命令可替换参数需要一个百分号,但在批处理文件中需要转义百分号,使符号百分比加倍。这就是你看到输出的原因。你写两个字符,但它们只代表一个。你在输出中得到一个。

如果输出中需要两个百分比,则需要逐个转义,因此需要写出四个百分号才能在输出中得到两个。

答案 1 :(得分:0)

要回显单个%,您需要将其加倍到%%

要回显两个%,您需要执行两次,例如%%%%