43 votes

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

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

46voto

Ben Collins Points 11318

Pour compléter la réponse de M. Dave, %SystemRoot% est une variable intégrée (ainsi qu'une petite poignée d'autres comme %SystemDrive%). Autrement dit, il n'est pas réellement défini dans le magasin de variables d'environnement à HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Environment dans le registre.

En revanche, %windir% est une variable classique et est défini dans le magasin de variables comme %SystemRoot%. (Il n'y a pas de contrepartie de "variable réelle" à %SystemDrive%.)

Il n'y a pas vraiment d'importance dans le choix de l'un ou l'autre, mais vous pouvez rencontrer des problèmes d'expansion de variables dans les fichiers batch, auquel cas vous pourriez essayer l'autre. (Je ne me souviens pas d'avoir eu spécifiquement des problèmes à ce sujet, mais il est bon de le garder à l'esprit.)

De plus, %SystemRoot% (et %SystemDrive%) sont définies lors du processus d'installation (lorsque vous choisissez le lecteur de destination) et sont donc disponibles dès le début de l'installation de Windows alors que %windir% est défini à un stade ultérieur pendant l'installation, donc si vous créez une sorte d'installation personnalisée (par exemple OEM, PE, etc.), vous voudrez utiliser %SystemRoot%.

32voto

Chris Points 101

Sous Win 7 %SystemRoot% est une variable système en lecture seule tandis que %windir% peut être modifié et est par défaut défini comme windir=%SystemRoot%. Le système d'exploitation repose sur %SystemRoot%. Selon Wikipedia, %WinDir% précède Windows NT et semble avoir été remplacé par %SystemRoot%.

2voto

Beej Points 161

Fait amusant - (sur Windows 10 1809) %windir% est toujours tellement essentiel que vous ne pouvez pas exécuter quoi que ce soit en mode élevé sans lui... ce qui signifie QUE VOUS NE POUVEZ PAS RÉELLEMENT LE REMPLACER car l'accès à l'environnement de variable du registre semble nécessiter une élévation :( ... heureusement, le mode sans échec m'a permis de restaurer cette variable et de continuer à avancer

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X