另外,通过我的实验,这里的call不是必须的,代码第6行修改为echo !%s:~1,1%!
同样可以输出b的值
花了好几个 ...
bgst 发表于 2013-7-23 16:15 
如果去掉call 双百分号在for循环体内好像不行。 | @echo off | | setlocal enabledelayedexpansion | | set ok=abcd | | set a=aaaaa & set b=bbbbb & set c=ccccc & set d=ddddd | | for /l %%i in (0,1,3) do call echo %%!ok:~%%i,1!%% | | endlocal | | pause>nulCOPY |
如果把上面第5行中的"call echo %%!ok:~%%i,1!%%" 换成
“echo !%ok:~%%i,1%!” 在执行时就会出错。 |