批量获取存储在变量中的变量的值

问题描述 投票:0回答:1

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

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

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'。感谢您提供的任何帮助,谢谢。

batch-file
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%
© www.soinside.com 2019 - 2024. All rights reserved.