Cmd - 获取变量名中的变量 [英] Cmd - get variable in variable name
本文介绍了Cmd - 获取变量名中的变量的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我对 variable in variable
有疑问(代码如下):
I have a problem about variable in variable
( the code is below ) :
set a=1
set b=a
echo %%b%%
预期结果是:
1
因为 a
被分配给变量 b
而 1
被分配给变量 a
.
As a
is assigned to variable b
and 1
is assigned to variable a
.
另外,还有一种情况:
set b=a
set a1=100
set c=1
call set d=%a%c%%
echo %d%
我想让程序先把%c%
转成1
,再把%a1%
转成100
.
预期的输出是 100
.
I want the program to first turn %c%
to 1
and then turn %a1%
to 100
.
The expected output is 100
.
完成这项任务最简单的方法是什么?
What is the simplest way to complete this task?
推荐答案
set a=1
set b=a
call echo %%%b%%%
这样会更快:
@echo off
set a=1
set b=a
setlocal enableDelayedExpansion
echo !%b%!
endlocal
以防万一您需要在括号上下文中执行此操作(例如 if
,for
...):
And just in case you need to do this within brackets context (e.g. if
, for
...) :
@echo off
set a=1
set b=a
setlocal enableDelayedExpansion
(
for /f %%v in ("%b%") do echo !%%~v!
)
endlocal
这篇关于Cmd - 获取变量名中的变量的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文