2017-02-19 2 views
0

別の変数を使用して変数の名前を取得する方法は? 今は「キューブ」という名前の小さなプロジェクトをやっています。サバイバルシミュレーターです。とにかく、私は問題に遭遇しましたが、これを可能にする方法がなければ、私はそれを遠くにやります。とにかく、ここに私のコード(バッチ)があります別の変数を使用して変数の名前を取得する方法は?

: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がスロット(プレイヤーの入力)、例えば、スロット1になりますので、だから、私は何をしようとしていることは、スロット1にはそのようにそれ、%で包囲されるだろうさ変数の名前を取得します。 (これはコードの唯一のクリップです。)私はまた、私のプログラムでも充実した展開を可能にしました。

+0

いいえいいえプログラムで遅延拡張が表示されません。それにかかわらず、私はこれがあなたがやろうとしていることだと思います。 'Set SlotChosen =!スロット%入力%! '。スロットを拡大するには、1組のパーセント記号が必要です。 – Squashman

+0

あなたの答えをありがとうございます:D – LeoDog896

+0

あなたもこのようにすることができます、 'call set SlotChosen = %% slot%input %%%' – Squashman

答えて

2

2つのオプションがあります。

遅延拡張を使用します。

set SlotChosen=!slot%input%! 

もう1つは、SETコマンドでCALLを使用して、拡張の段階を追加します。

call set SlotChosen=%%slot%input%%% 
関連する問題