Jam*_*mie 3 command cmd batch-file set
我有一个问题variable in variable(代码如下):
set a=1
set b=a
echo %%b%%
Run Code Online (Sandbox Code Playgroud)
预期的结果是:
1
Run Code Online (Sandbox Code Playgroud)
作为a被分配给变量b并1分配给变量a.
另外,还有另一种情况:
set b=a
set a1=100
set c=1
call set d=%a%c%%
echo %d%
Run Code Online (Sandbox Code Playgroud)
我希望程序先打开%c%来1,然后转%a1%来100.
预期的产出是100.
完成此任务的最简单方法是什么?
set a=1
set b=a
call echo %%%b%%%
Run Code Online (Sandbox Code Playgroud)
这将更快地工作:
@echo off
set a=1
set b=a
setlocal enableDelayedExpansion
echo !%b%!
endlocal
Run Code Online (Sandbox Code Playgroud)
如果您需要在括号上下文中执行此操作(例如if,for...):
@echo off
set a=1
set b=a
setlocal enableDelayedExpansion
(
for /f %%v in ("%b%") do echo !%%~v!
)
endlocal
Run Code Online (Sandbox Code Playgroud)