В чем разница между% Windir% и% Systemroot% в пути к Windows?
Они оба показывают местоположение папки «Windows».
В чем разница между% Windir% и% Systemroot% в пути к Windows?
Они оба показывают местоположение папки «Windows».
Ответы:
Чтобы расширить ответ г-на Дейва, %SystemRoot%
это встроенная переменная (наряду с небольшой горсткой других подобных %SystemDrive%
). То есть он фактически не определен в хранилище переменных среды HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Environment
в реестре.
С другой стороны, %windir%
является обычной переменной и определяется в хранилище переменных как %SystemRoot%
. (Не существует аналога «реальной переменной» %SystemDrive%
.)
Какой из них использовать, на самом деле не имеет значения, но вы можете столкнуться с проблемами расширения переменных в пакетных файлах, и в этом случае вы можете попробовать другой. (Я не помню, чтобы у меня были проблемы с этим, но об этом стоит помнить.)
Кроме того, %SystemRoot%
(и %SystemDrive%
) задаются в процессе установки (при выборе целевого диска) и, таким образом, доступны с самой ранней точки при установке Windows, тогда как %windir%
при установке они устанавливаются позже, поэтому, если вы создаете некоторые вид пользовательской установки (например, OEM, PE и т. д.), которую вы захотите использовать %SystemRoot%
.
%SystemRoot%
. Windows имеет достаточно информации для установки SystemDrive
и, SystemRoot
как только вы выбираете диск, на который ее установите (плюс она использует значение по умолчанию, если вы не изменяете место назначения). Он устанавливает несколько переменных среды по умолчанию (включая windir
) позже в процессе установки, когда инициализирует реестр. Это имеет значение, только если вы изменяете процесс установки.
%windir%
. Это правильно?
забавный факт - (в Windows 10 1809)% windir% по-прежнему настолько важен, что вы не можете запустить что-либо с повышенными правами без этого ... что означает, что вы НЕ МОЖЕТЕ НАСТОЯЩИМ ОСТАВИТЬСЯ, потому что попадание в реестр переменных среды, очевидно, требует повышения :( ... к счастью, безопасный режим позволил мне восстановить эту переменную и продолжить работу