Яка різниця між% WinDir% та% SystemRoot%?


Відповіді:


34

Щоб розширити відповідь містера Дейва, %SystemRoot%це вбудована змінна (разом з невеликою кількістю інших подібних %SystemDrive%). Тобто він фактично не визначений у сховищі змінних оточення HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Environmentу реєстрі.

З іншого боку, %windir%є звичайною змінною і визначається у сховищі змінних як %SystemRoot%. (Не існує "реальної змінної" аналога %SystemDrive%.)

Що використовувати, насправді не має значення, але у вас можуть виникнути проблеми зі змінним розширенням в batch-файлах, і в цьому випадку ви можете спробувати інший. (Я не пам’ятаю конкретних проблем з цим, але це варто пам’ятати.)

Крім того, %SystemRoot%%SystemDrive%) встановлюються під час процесу встановлення (коли ви вибираєте цільовий диск), і таким чином він доступний з найдавнішої точки, коли встановлюється Windows, тоді як %windir%він встановлюється в більш пізній момент під час встановлення, тому якщо ви створюєте деякі Вибір користувальницької установки (наприклад, OEM, PE тощо), який ви хочете використовувати %SystemRoot%.


Отже,% windir% побудували ПІСЛЯ встановлення?
Амірреза Насірі

2
Ні, під час встановлення, а після %SystemRoot%. У Windows є достатньо інформації для встановлення, SystemDriveі SystemRootяк тільки ви виберете диск, куди його встановити (плюс він використовує типовий, якщо ви не змінюєте призначення). Він встановлює кілька змінних середовищ за замовчуванням (включаючи windir) пізніше в інсталяції, коли він ініціалізує реєстр. Це має значення лише в тому випадку, якщо ви змінюєте процес встановлення.
Synetech

в такому випадку ви можете спробувати інший . Я припускаю, що інший є %windir%. Це правильно?
Рене Ніффенеггер

28

У програмі Win 7 %SystemRoot%- це системна змінна лише для читання, але вона %windir%може бути змінена та встановлена ​​за замовчуванням як windir=%SystemRoot%. ОС покладається на %SystemRoot%. Згідно з Вікіпедією , %WinDir%перед датами Windows NT і, здається, витісняється %SystemRoot%.


1

цікавий факт - (в Windows 10 1809)% windir% все ще настільки важливий, що ви не можете виконати нічого підвищеного без нього ... а це означає, що НЕ МОЖЕТЕ СУЧАСНО ЗАПИТАТИ НАЗАД, оскільки потрапляння в реєстр змінної середовища очевидно вимагає підвищення :( ... на щастя, безпечний режим дозволив мені відновити цю змінну і продовжувати працювати на Truckin '

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.