Batch file Cmd-获取变量名中的变量
我对变量中的变量有问题(代码如下): 预期结果是:Batch file Cmd-获取变量名中的变量,batch-file,cmd,command,set,Batch File,Cmd,Command,Set,我对变量中的变量有问题(代码如下): 预期结果是: 1 因为a被分配给变量b,1被分配给变量a 此外,还有另一种情况: set b=a set a1=100 set c=1 call set d=%a%c%% echo %d% 我希望程序首先将%c%转到1,然后将%a1%转到100 预期输出为100 完成这项任务最简单的方法是什么 set a=1 set b=a call echo %%%b%%% 这将更快地发挥作用: @echo off set a=1 set b=a setlocal
1
因为a
被分配给变量b
,1
被分配给变量a
此外,还有另一种情况:
set b=a
set a1=100
set c=1
call set d=%a%c%%
echo %d%
我希望程序首先将%c%
转到1
,然后将%a1%
转到100
预期输出为
100
完成这项任务最简单的方法是什么
set a=1
set b=a
call echo %%%b%%%
这将更快地发挥作用:
@echo off
set a=1
set b=a
setlocal enableDelayedExpansion
echo !%b%!
endlocal
以防您需要在括号内执行此操作(例如,if
,for
…):
比如变量x%abc%
echo x%abc%>a.a
set /p temp=<a.a
call echo %%temp%%>a.a
set /p temp=<a.a
set temp
echo x%abc%>a.a
设置/p温度=a.a
set/p temp=如何将值%%%b%%
分配给变量?e、 g.set c=%%%b%%
再次使用调用set
@echo off
set a=1
set b=a
setlocal enableDelayedExpansion
(
for /f %%v in ("%b%") do echo !%%~v!
)
endlocal
echo x%abc%>a.a
set /p temp=<a.a
call echo %%temp%%>a.a
set /p temp=<a.a
set temp