批处理获取存储在变量内部的变量的值

时间:2019-10-23 22:02:49

标签: batch-file

我有一个存储在另一个变量中的变量的名称,我会在第一个变量中找到该变量的值。

我写了这段代码来解决它。

set var1=aaa
set var2=bbb
set var3=ccc
set var4=ddd
echo pick number 1 to 4
set /p ReturnCode=
set answer=%%var_%ReturnCode%%%
echo %answer%

我的麻烦是它给了变量名称而不是值。

例如,如果我输入3选择而不是输出“ ccc”,它将输出“ var_3”。谢谢您能提供的任何帮助。

1 个答案:

答案 0 :(得分:2)

两种方法:

@echo off
setlocal enabledelayedexpansion
set var1=aaa
set var2=bbb
set var3=ccc
set var4=ddd
echo pick number 1 to 4
set /p ReturnCode=

:: using delayed variable expansion
set answer=!var%ReturnCode%!
echo %answer%

:: using the call double percent trick
call echo %%var%ReturnCode%%%

:: or
call set answer2=%%var%ReturnCode%%%
echo %answer2%