
Как скопировать значение переменной среды в другую переменную среды? Я обновляю пакетный скрипт DOS для использования в Windows XP. Допустим, у меня есть переменная среды FOO
, которая содержит some\file\path
, и мне нужно сделать точную копию этого файла в переменной среды BAR
. Как это сделать?
Переменная FOO
настраивается следующим образом:
setx FOO %MY_ROOT%\some\file\path
Как сделать BAR
равными FOO
, просто ссылаясь на FOO
?
решение1
Setx BAR %FOO%
Однако с SETX следует быть осторожным, поскольку он не применяет набор переменных к текущему окну CMD.
Таким образом, вам придется открыть CMD, запустить Setx FOO path
, выйти из текущего окна CMD и/или открыть новое, после чего %FOO% вступит в силу, и вы сможете назначить FOO для BAR с помощью Setx BAR %FOO%
.
Вы можете использовать его Set
для назначения переменных, которые немедленно начинают работать в текущем сеансе CMD, но область действия Set ограничена только текущим сеансом CMD, поэтому вам может потребоваться использовать комбинацию обоих методов.