Quelle est la différence entre% WinDir% et% SystemRoot%?


33

Quelle est la différence entre% Windir% et% Systemroot% dans l'emplacement du chemin Windows?
Les deux montrent l'emplacement du dossier "Windows".

Réponses:


34

Pour développer la réponse de M. Dave, %SystemRoot%est une variable intégrée (avec une petite poignée d’autres, par exemple %SystemDrive%). En d’autres termes, il n’est pas défini dans le magasin de variables d’environnement situé HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Environmentdans le registre.

D'autre part, %windir%est une variable régulière et est définie dans la variable store as %SystemRoot%. (Il n'y a pas de contrepartie «variable réelle» pour %SystemDrive%.)

Le choix de l'utilisation n'a pas vraiment d'importance, mais vous pouvez rencontrer des problèmes d'extension variable dans des fichiers de traitement par lots, auquel cas vous pouvez essayer l'autre. (Je ne me souviens pas d'avoir eu de problèmes avec cela en particulier, mais il convient de garder à l'esprit.)

De plus, %SystemRoot%(et %SystemDrive%) sont définis pendant le processus d’installation (lorsque vous choisissez le lecteur de destination) et sont donc disponibles à partir du point le plus ancien au moment de l’installation de Windows, puis %windir%à une valeur ultérieure lors de l’installation. sorte d'installation personnalisée (par exemple, OEM, PE, etc.), vous voudrez utiliser %SystemRoot%.


Alors,% windir% construit après l'installation?
Amirreza Nasiri

2
Non, lors de l'installation, mais après %SystemRoot%. Windows a suffisamment d'informations pour définir SystemDriveet SystemRootdès que vous choisissez le lecteur où l'installer (il utilise également une valeur par défaut si vous ne modifiez pas la destination). Il définit plusieurs variables d’environnement par défaut (y compris windir) ultérieurement dans l’installation lorsqu’il initialise le registre. Cela n'a d'importance que si vous modifiez le processus d'installation.
Synetech

dans ce cas, vous pouvez essayer l'autre . Je suppose que l'autre est %windir%. Est-ce exact?
René Nyffenegger le

27

Sur Windows 7 %SystemRoot%est une variable système en lecture seule. Elle %windir%peut être modifiée et est définie par défaut sur windir=%SystemRoot%. Le système d'exploitation s'appuie sur %SystemRoot%. Selon Wikipedia , %WinDir%les versions antérieures à Windows NT semblent être remplacées par %SystemRoot%.


1

fait amusant - (sur Windows 10 1809)% windir% est toujours si essentiel que vous ne pouvez pas exécuter quoi que ce soit sans cela ... ce qui signifie que VOUS NE POUVEZ PAS RETIRER CAR ... heureusement, le mode sans échec m'a permis de restaurer cette variable et de continuer à travailler.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.