2017-02-19 103 views
0

如何使用其他變量獲取變量的名稱? 現在我正在做一個名爲「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將與%包圍,這樣它獲取變量的名稱。 (這只是代碼的一個片段。)我的程序中也有enabledelayexpansion。

+0

不,我沒有在您的程序中看到延遲擴展。無論我認爲這是你想要做的。 '設置SlotChosen =!slot%input%!'。您只需要一組百分號來擴展slotchosen。 – Squashman

+0

謝謝你的回答:D – LeoDog896

+0

你也可以這樣做,'call set SlotChosen = %% slot%input %%%' – Squashman

回答

2

兩種選擇適合你。

一個使用延遲擴展。

set SlotChosen=!slot%input%! 

另一個使用CALL和SET命令來獲得額外的擴展階段。

call set SlotChosen=%%slot%input%%% 
相關問題