ОБНОВЛЕНИЕ № 2 - Теперь к актуальному вопросу: почему вложенные, созданные пользователем переменные не могут быть расширены?
Есть некоторые общие проблемы, касающиеся расширения переменных в Windows. Я уже сталкивался с той же проблемой и не нашел четких, воспроизводимых обстоятельств - уровень рекурсии, на котором не удается выполнить расширение, непоследователен, специальные символы, похоже, не играют роли и т.д.
Единственный возможный обходной путь, который я нашел, - это добавление уровня рекурсии переменных по уровню рекурсии. Это означает: попробуйте удалить все переменные, которые вы хотите вложить друг в друга (включая вызовы из PATH в ваши пользовательские переменные), а затем запустить с нуля. Определите ваши основные переменные (и т.д. ANT-HOME), подтвердите, проверьте, развернут ли он, если это так, переходите к следующему уровню, проверьте ... вы поняли идею.
ОБНОВЛЕННЫЙ ОТВЕТ - Определение постоянных переменных среды с помощью CLI и GUI - Прокрутите вниз для получения исходного ответа
GUI метод:
В Windows 7 просто введите "system" в META-Prompt, и вы увидите запись "Редактирование переменных системной среды". Оттуда, нажмите "Переменные среды". Там вы можете либо отредактировать системную переменную PATH (нижний список), либо добавить / отредактировать новую переменную PATH в переменных среды пользователя.
Метод командной строки:
Для постоянного изменения переменных среды необходимо использовать команду SETX в командной строке Windows. В отличие от других версий Windows, он встроен в Windows 7. Его синтаксис сильно отличается от SET, но он также мощный. Вы должны быть немного осторожны, однако, легко запутать ваши переменные с помощью SETX.
По умолчанию вы меняете пользовательские переменные. У вас может быть переменная среды пользователя PATH, которая успешно сосуществует с системной переменной PATH. Если вы еще не определили это, сделайте это, набрав: SETX PATH yourpath
Вы также можете добавить значение в системную переменную PATH. Для этого вам сначала нужно вызвать командную строку с правами администратора. Для этого нажмите клавишу Meta(Windows), введите cmd
нажмите CTRL
+ SHIFT
+ ENTER
и подтвердите диалоговое окно UAC.
Чтобы добавить новые значения в путь, теперь вы можете ввести
setx path "%path%;yournewpath" /m
Важно следовать этому синтаксису! Если вы сначала не включите% path%, все существующие значения пути будут потеряны и заменены только вашим новым путем.
Переключатель /m в конце устанавливает переменную в системной среде.
Обратите внимание, что вам придется вызвать новую командную строку, чтобы использовать вашу новую переменную.
На TechNet также есть полный справочник по SETX.
СТАРЫЙ ОТВЕТ Команда SET обновляет переменные только на время текущего сеанса командной строки.
Правильный синтаксис для добавления значения в переменную: «set [variable] =% [variable]%; [новое значение]`
Обратите внимание, что слева от знака равенства вы должны опустить знаки процента!
Источник: TechNet Справочник по командной строке для Windows Server