1 (изменено: Александр_foxware, 2018-08-04 21:00:02)

Тема: CMD/BAT: Переменная в переменной

Приветствую! Столкнулся с вопросом использования переменной в переменной:

set name1=one
set name2=two

set one_param1=target_clock
set one_param2=target_place

set two_param1=target_day
set two_param2=target_year



echo %%name1%_param1%

Никак не могу понять как вызывать переменную если в имени переменной есть также переменная. Вроде должно быть просто. Подскажите пожалуйста.

2

Re: CMD/BAT: Переменная в переменной

Ваш пример ничего не объясняет. Ну, заменим мы %name1% на one, и что — у Вас нет переменной окружения one_param1.

3

Re: CMD/BAT: Переменная в переменной

Ошибся с примером. Исправил в первом сообщении

4

Re: CMD/BAT: Переменная в переменной

@echo off
setlocal enableextensions enabledelayedexpansion

set name1=one
set name2=two

set one_param1=target_clock
set one_param2=target_place

set two_param1=target_day
set two_param2=target_year

echo !%name1%_param1!

endlocal
exit /b 0

Ключевым здесь является enabledelayedexpansion и использование символов ! для отложенного раскрытия переменной окружения, получающейся при раскрытии переменной окружения name1.

5

Re: CMD/BAT: Переменная в переменной

Это так просто! Большое спасибо! Теперь буду знать