2017-02-19 4 views
0

Wie erhält man den Namen einer Variablen mit einer anderen Variablen? Im Moment mache ich ein kleines Projekt namens "Cube". Es ist ein Überlebenssimulator. Wie auch immer, ich bin auf ein Problem gestoßen, aber wenn es nicht möglich ist, dies zu ermöglichen, werde ich es auf lange Sicht tun. Wie auch immer, hier ist mein Code (Batch)Wie erhält man den Namen einer Variablen mit einer anderen Variablen?

: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 

Also, was ich versuche zu tun, da SlotChosen Schlitz (Eingabe des Spielers) wäre zum Beispiel slot1, slot1 mit% umgeben würde, auf diese Weise es Ruft den Namen der Variablen ab. (Dies ist nur ein Clip des Codes.) Ich habe auch in meinem Programm enabledelexpansion.

+0

Nein, ich sehe keine verzögerte Erweiterung in Ihrem Programm. Trotzdem denke ich, dass Sie das versuchen. 'setze SlotChoose =! slot% input%!'. Sie benötigen nur einen Satz Prozentzeichen, um Slotchosen zu erweitern. – Squashman

+0

Vielen Dank für Ihre Antwort: D – LeoDog896

+0

Sie es auf diese Weise auch tun könnte, 'Rufaufbau SlotChosen = %% Slot% Eingang %%%' – Squashman

Antwort

2

Zwei Optionen für Sie.

Man verwendet verzögerte Expansion.

Der andere verwendet CALL mit dem Befehl SET, um die zusätzliche Phase der Erweiterung zu erhalten.

call set SlotChosen=%%slot%input%%% 
Verwandte Themen