ОБНОВЛЕНИЕ № 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