Я должен использовать / ссылаться на значение переменной среды, которое будет передано в качестве аргумента командной строки. Что-то вроде ниже
set myvar=%1
echo Value of %myvar% is %%myvar%%
Здесь в %%myvar%%
Я хочу сослаться на значение этой переменной среды
Типичный вызов этого скрипта будет
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) анализирует сценарии? для получения дополнительной информации