如何使用另一个变量获取变量的名称?

时间:2017-02-19 21:29:38

标签: windows batch-file variables

如何使用另一个变量获取变量的名称? 现在我正在做一个名为" Cube"的小项目。这是一个生存模拟器。无论如何,我遇到了一个问题,但如果没有办法让这成为可能,我会做很长的路。无论如何,这是我的代码(批处理)

:UseItem    
title Cube - Use Item    
cls    
echo Cube: Choose An Item To Use  
call %name%.bat  
echo      1. %slot1%  
echo      2. %slot2%  
echo      3. %slot3%  
echo      4. %slot4%  
echo      5. %slot5%  
echo      6. %slot6%  
echo      7. %slot7%  
echo      8. %slot8%  
echo      9. %slot9%  
set /p input=Choice:   
set SlotChosen=slot%input%  
if %%SlotChosen%%==BlueBerry goto EatBlue 

所以我试图做的是因为SlotChosen将是插槽(播放器的输入),例如,slot1,slot1将被%包围,这样它就获得了变量的名称。 (这只是代码的一个片段。)我也在我的程序中启用了delayexpansion。

1 个答案:

答案 0 :(得分:3)

两种选择。

一个使用延迟扩展。

set SlotChosen=!slot%input%!

另一个使用CALL和SET命令来获得额外的扩展阶段。

call set SlotChosen=%%slot%input%%%