Command line 如何正确转义双百分比参数,即%%x,以便在回波输出中正确显示它们

Command line 如何正确转义双百分比参数,即%%x,以便在回波输出中正确显示它们,command-line,windows-xp,cmd,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

我想做的是在控制台上放一条简单的
echo
消息,上面写着:

variable named %%x has value of 'this is text inside the variable
所以我必须执行的命令必须转义属于变量名的百分比,这样它就不会计算。通常
%
的转义字符是另一个
%
。所以这是可行的:

echo %%variable%% has value: %variable%
但事实并非如此,似乎
for
循环中使用的双百分比变量总是计算:

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

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

setlocal enabledelayedexpansion
set percent=%%
for %%a in (*) do (
    echo !percent!!percent!a is %%a
)
或者您可以执行
setdblpercent=%%
echo!百分之十!a