【问题标题】:batch Get value of variable stored inside variable [duplicate]批处理获取存储在变量中的变量的值[重复]
【发布时间】:2020-02-20 05:08:12
【问题描述】:

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

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

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'。如果您能提供任何帮助,我将不胜感激,谢谢。

【问题讨论】:

  • 请注意您的变量是 var1 var2 var3 但您正在尝试使用 var_n

标签: batch-file


【解决方案1】:

两种方法:

@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%

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-08-12
    • 2021-07-03
    • 1970-01-01
    • 2022-10-21
    相关资源
    最近更新 更多