2016-08-15 2 views

ответ

3

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%% 
) 
2

Вы можете получить то, что вы хотите с помощью комбинации enabledelayedexpansion и set /a эмулировать функцию Eval

Попробуйте это:

@echo off 
setlocal enabledelayedexpansion 

set playerlevel=5 
set x=player 

set /a varx = "%x%level" 
echo %varx% 
Смежные вопросы