@echo off
Set a=b
echo %%%a%%%
pause
Rem 一侧的%是奇数,先把最里面的%a%置换成变量的值b,剩下的是偶数%在成对的脱,即%减半
rem 执行结果是%b%
echo %%%%a%%%%
pause
rem 一侧是偶数,从前往后一对对脱,执行结果是%%a%%
call echo %%%a%%%
pause
rem 一侧是奇数,最里面置换成变量的值b,剩下的偶数%在成对脱,变成%b%
rem 因call在脱第1次%, 但现在只有1对%,理解变成b,但实际会出现ECHO处于关闭状态的错误
call echo %%%%%a%%%%%
pause
rem echo第1次脱%后,变成%%b%%
rem call第2次脱%后,变成%b%
call echo %%%%%%a%%%%%%
pause
rem echo第1次脱%后,变成%%%a%%%
rem call第2次脱%后,变成%b%作者: HAT 时间: 2008-12-11 19:33 关于逃逸字符%的讲解 http://www.cn-dos.net/forum/viewthread.php?tid=19077#pid112069