の可変部分それでは、私は「5」出力になりたい私は、次のコードバッチファイルオーケー別の変数
set playerlevel=5
set x=player
echo %x%level
を持っているとしましょう、ということは可能ですか?
の可変部分それでは、私は「5」出力になりたい私は、次のコードバッチファイルオーケー別の変数
set playerlevel=5
set x=player
echo %x%level
を持っているとしましょう、ということは可能ですか?
dbmitch's answerは整数のために良いですが、文字列またはの整数を表示する場合は、単に遅延拡張を使用できます。コードは、コードブロックの内側に配置されている場合(すなわち、括弧で囲まれた)こと
@echo off
setlocal enabledelayedexpansion
set playerlevel=5
set x=player
echo !%x%level!
注、構文がわずかに異なっています。
@echo off
setlocal enabledelayedexpansion
REM This is just an example code block to show off the alternate syntax with the %%s
for /L %%A in (1,1,1) do (
set playerlevel=5
set x=player
call echo %%!x!level%%
)
あなたは
EVAL機能をエミュレートする
enabledelayedexpansion
とset /a
の組み合わせを使用することによって、あなたが欲しいものを得ることができ、これを試してみてください:
@echo off
setlocal enabledelayedexpansion
set playerlevel=5
set x=player
set /a varx = "%x%level"
echo %varx%