level 13
一般嵌套变量,是用延时变量扩展,是吧。
比如
setlocal ENABLEDELAYEDEXPANSION
set a=!a:~%b%,1!
set n=!pro%a%!
……
其实 这样也是可以的,对吧。
call set a=%%a:~%b%,1%%
……
那么……岂不是还可以这样?
call call set n=%%%%pro%%a:~%b%,1%%%%%%
……
2017年04月20日 05点04分
1
level 13
这么说的话,for也不必使用延迟扩展变量了。
for %i in (2) do (set /a v=%i+10&call echo %%v%%)
注:此为cmd命令,非bat命令。两种格式for写法略不同
2017年04月20日 05点04分
4
level 13
再来一个例子:
set a2=1
set b3=2
set c=3
call call echo.%%%%a%%b%c%%%%%%%
猜猜运行结果是多少?
2017年04月20日 05点04分
5
level 13
call set
#=1&&call echo,%%#
%%
call set #=2&&call:1
call set #=3&&for /f "delims=" %%i in ('call echo,%%#%%')do echo,%%i
pause
:1
echo,%#%
goto:eof
2017年04月20日 07点04分
7