如何正确地转义双百分比参数,即%% x以在echo输出中正确显示它们

时间:2012-05-12 13:09:05

标签: command-line windows-xp cmd

我要做的是在控制台上输入一条简单的echo消息:

variable named %%x has value of 'this is text inside the variable

所以我必须做的命令必须转义属于变量名的百分比,以便它不进行评估。通常,%的转义字符是另一个%。所以这有效:

echo %%variable%% has value: %variable%

但事实并非如此,for循环中使用的双百分比变量似乎总是在评估:

echo %%%%x has value: %%x

1 个答案:

答案 0 :(得分:2)

这是一个愚蠢的黑客似乎有效:

setlocal enabledelayedexpansion
set percent=%%
for %%a in (*) do (
    echo !percent!!percent!a is %%a
)

或者你可以set dblpercent=%%%%echo !dblpercent!a ...