2016-10-08 2 views
1

Что означает% в переменных окружающей среды Windows?% в переменных переменных среды Windows

%SystemRoot%\system32; 
%SystemRoot%; 
%SystemRoot%\System32\Wbem; 

В частности, значения переменных Path, TMP, TEMP имеют этот знак. Могут быть и другие переменные, но я столкнулся только с этими тремя.

Нужно ли мне беспокоиться об этом, задавая собственные переменные пути?

ответ

1

%VariableName% - это синтаксис для ссылки на переменную среды. Фактическое имя - это часть между символами %.

Итак, ваша первая строка, когда она полностью расширена, будет оценивать значение переменной SystemRoot, а затем \system32;.

Если вы хотите использовать переменные среды в оболочке Windows или хотите определить переменные среды, которые ссылаются на другие переменные, вам нужно использовать %...%.

1

Нужно ли мне беспокоиться об этом при настройке моих собственных переменных пути?

При нормальных обстоятельствах нет, нет. Вы сделали бы это только в том случае, если бы вы хотели, чтобы эффективное значение PATH зависело от какой-либо другой переменной среды. Даже тогда это только удобство, никогда не нужно.

Как реальный пример того, когда это может быть удобно, предположим, что вы написали программу, которая автоматизирует обновление Java SDK до последней версии, поэтому вашим пользователям не нужно делать это вручную. Обновление SDK перемещает его в другое место, поэтому вы, вероятно, захотите добавить новое местоположение SDK к пути и удалить старый.

Вы можете сделать это трудным путем, разыгрывая PATH каждый раз, располагая часть, которая указывает на старое местоположение и соответствующим образом меняет ее. Но это боль, и если вы делаете это глобально, у пользователей нет выбора, находится ли Java на пути, даже если они не используют его. Поэтому вместо этого вы можете создать переменную JAVA_PATH, которая указывает на текущее местоположение SDK. Таким образом, его легко изменить, и отдельные пользователи могут выбрать, следует ли поставить %JAVA_PATH% по их собственным путям.

В случае Microsoft (примеры, которые вы заметили) системный корень никогда не будет перемещаться, но с помощью переменной они могут жестко закодировать значение по умолчанию PATH, а не иметь явно вырабатывать его во время установки операционной системы.


PS: переменные окружения, указанные в PATH, должны быть системными переменными. Ссылка на пользовательскую переменную не будет работать.

+0

Хорошее объяснение –

Смежные вопросы