在Windows CMD中扩展var中的var
我在变量(例如,在Windows CMD中扩展var中的var,cmd,Cmd,我在变量(例如,变量a)中有类似于%SystemRoot%\blahblahblah的smth。 但是回声!a将返回%SystemRoot%\blahblahblah(不展开%SystemRoot%)。如何展开它?您可以使用调用子例程的技巧,使变量展开两次: @Echo Off set a=%%SystemRoot%%\blahblahblah call :reparse set b=%a% echo value of a: %a% echo value of b: %b% goto :EO
变量a
)中有类似于%SystemRoot%\blahblahblah
的smth。
但是回声!a将返回
%SystemRoot%\blahblahblah
(不展开%SystemRoot%
)。如何展开它?您可以使用调用子例程的技巧,使变量展开两次:
@Echo Off
set a=%%SystemRoot%%\blahblahblah
call :reparse set b=%a%
echo value of a: %a%
echo value of b: %b%
goto :EOF
:reparse
%*
goto :EOF
:repasse
子例程只执行其所有参数。第一次扩展发生在执行调用时,第二次扩展发生在%*被解释为set b=%SystemRoot%\blahblahblah
时