Я должен использовать/ссылаться значение переменной среды, которое будет передано как параметр командной строки. Что-то как ниже
set myvar=%1
echo Value of %myvar% is %%myvar%%
Здесь в %%myvar%%
Я хочу сослаться на значение той среды varible
Типичный вызов к этому сценарию будет
script.bat JAVA_HOME
Вам не нужна промежуточная переменная myvar
. Если вы этого хотите, просто замените % myvar%
на % 1
ниже.
Вам потребуется два цикла расширения.
Вариант 1 - ВЫЗОВ
@echo off
call echo %%%1%%
В первая фаза анализа
%%
расширяется до %
% 1
расширяется до JAVA_HOME
%%
расширяется до %
В Фаза ВЫЗОВА, % JAVA_HOME%
расширяется до значения, которое вы ищете.
Вариант 2 - Отложенное расширение
@echo off
setlocal enableDelayedExpansion
echo !%1!
Форму отложенного раскрытия намного легче читать
См. Как выполняется интерпретатор команд Windows (CMD.EXE) анализирует скрипты? для получения дополнительной информации