在Batch中显示一个ask变量(变量中的变量)

时间:2016-03-17 18:03:51

标签: variables batch-file

有没有办法询问用户想要显示哪个变量并显示它?它应该是 作为概念 ,如下所示:

@echo off
set "VAR_1=THIS IS VAR_1"
set "VAR_2=THIS IS VAR_2"
set /p "VAR_TO_SHOW=Enter the variable to show: (VAR_1/VAR_2)"
echo %%VAR_TO_SHOW%%

所以如果我们在" echo %% VAR_TO_SHOW %%"如果我们输入" VAR_1"我希望看起来像这样:

echo %VAR_1%

因此输出将是"这是VAR_1"。总结我所说的所有内容,我想在变量中创建一个变量。我该怎么做?

我想评论的另一件事是,我已经尝试了#34; %%!VAR!%%"和" %% VAR %%"没有感叹号,但显示的是或者是"%!VAR_TO_SHOW!%"或相同但没有(再次)惊叹号......

1 个答案:

答案 0 :(得分:3)

@echo off
set "VAR_1=THIS IS VAR_1"
set "VAR_2=THIS IS VAR_2"
set /p "VAR_TO_SHOW=Enter the variable to show: (VAR_1/VAR_2)"
call echo %%%VAR_TO_SHOW%%%

@echo off
setlocal enableDelayedExpansion
set "VAR_1=THIS IS VAR_1"
set "VAR_2=THIS IS VAR_2"
set /p "VAR_TO_SHOW=Enter the variable to show: (VAR_1/VAR_2)"
echo !%VAR_TO_SHOW%!

第二种方式会更快。