La variable d'environnement WINDIR est résolue en% racine_système% et non en c: \ windows

6

Il y a quelque temps, j'ai modifié manuellement la WINDIRvariable d'environnement pour tester quelque chose dans un programme existant avec lequel je travaillais (j'aurais dû le faire sur une machine virtuelle plutôt que sur mon bureau: / mais il est trop tard maintenant)

Donc, pour une raison quelconque, le %WINDIR%problème ne se résout plus en c: \ windows, mais en% SystemRoot%. A partir de la ligne de commande:

echo %WINDIR% outputs %SystemRoot%

et

echo %SystemRoot% outputs C:\windows

Ne pas être capable de résoudre WINDIR me cause toutes sortes de maux de tête. J'ai essayé de définir WINDIRexplicitement la valeur de c:\windowsdans cette fenêtre de la console, mais en vain. J'ai également essayé de modifier manuellement la valeur de la clé de registre windir à

HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Session Manager\Environment\windier

et

HKEY_LOCAL_MACHINE\SYSTEM\ControlSet002\Control\Session Manager\Environment\windir

Mais toujours pas de chance. Est-ce que quelqu'un a déjà vu ce comportement auparavant?

oublié de mentionner que c'est sur Windows 7 Enterprise ed

priantpantis
la source
Je ne sais pas quelle version de Windows vous utilisez ou à propos d'autres versions de Windows, mais sous XP, il s'agit de HKLM \ SYSTEM \ CurrentControlSet \ Control \ Gestionnaire de sessions \ Environment et HKCU \ Environment
barlop
supposons que vous fassiez par exemple C: \> requête HKCU \ Environment <ENTER> ou plutôt C: \> requête HKEY_LOCAL_MACHINE \ SYSTEM \ ControlSet001 \ Control \ Gestionnaire de session \ Environment <ENTER> indique-t-il que la variable d'environnement a été modifiée à cet emplacement du registre?
barlop
1
et pour moi, (xp),% windir% donne c: \ windows et% systemroot% donne c: \ windows
barlop
Je voudrais juste réinstaller votre système d'exploitation. Bien sûr, je ne vois pas le problème,% WINDIR% est supposé pointer vers le répertoire Windows, n'est-ce pas? Les deux variables sont C:\Windows
supposées
1
Vous avez changé la valeur en C: \ windows et cela n'a pas résolu vos problèmes? Peut-être que ce n'est pas ce qui cause vos problèmes alors?
Langhard le

Réponses:

6

Veuillez vérifier le type de la valeur que vous avez en tant que Windir. Vous avez probablement changé par inadvertance de REG_EXPAND_SZà REG_SZ. Vous devez le faire directement dans le registre (les panneaux de l'interface graphique ne vous montreront pas la différence):

Lancez l'éditeur de registre, accédez à HKEY_LOCAL_MACHINE\system\currentControlSet\Control\Session Manager\Environment.
Vérifiez que windira un type de REG_EXPAND_SZ.
Sinon, recréez l'entrée comme suit: windir REG_EXPAND_SZ %SystemRoot%

Déconnectez-vous / connectez-vous et vérifiez si cela fonctionne

wmz
la source
ok ça corrige ça. Dans ma frustration / stupidité je dois avoir modifié le type de la clé reg windir à REG_SZ. Après l'avoir recréé en tant que REG_EXPAND_SZ, définissez-le sur% racine_système% et redémarrez% windir% résolu correctement et mes raccourcis fonctionnent à nouveau. Merci un mil pour cela
prierantpantis
Btw il semble que j'ai créé une clé SystemRoot dans le dossier ControlSet002 également lorsque j'ai créé ce bugger-up, prob dans certains espoir de résoudre le problème..soi j'ai supprimé lorsque j'ai recréé la clé Windir.
priingpantis
@prayingpantis Heureux d'avoir pu vous aider!
wmz
2

Correction! %SystemRoot%est la valeur par défaut . Donc, cette variable est définie correctement dans votre système.

entrez la description de l'image ici

Cliquez avec le bouton droit sur Ordinateur - Paramètres - Paramètres système avancés - Avancé - Variables environnementales . Dans la deuxième partie de cette fenêtre (sous Variables environnementales), vous pouvez voir votre variable pointée par windir%systemroot% . Changez-le en %SystemRoot%, qui est la valeur par défaut et testez si vous obtenez toujours des erreurs.

Langhard
la source
1
En fait, il est fort probable que la valeur par défaut est C: \ Windows, qui HAPPENS DOIT ÊTRE identique à% systemroot%. Je ne pense pas que la valeur est% systemroot%. Le questionneur donne l'impression que c'est comme ça, et vous aussi, mais je ne pense pas du tout que ce soit le cas. Regardez les commentaires à sa question, par exemple de moi sur xp, ou d'avirk sur windows 7
barlop
voir l'image que j'ai jointe. (Désolé, c'est en allemand) Lorsque vous double-cliquez sur la valeur windir dans les variables d'environnement système, vous pouvez voir que la valeur définie est en fait:% SystemRoot%. Mais vous devez double-cliquer dessus, sinon vous ne voyez que la valeur résolue.
Langhard le
1
heh tu as raison aussi XP .. (double-clic sur% systemroot%) et en regardant dans le registre avec reg.exe, montre windir REG_EXPAND_SZ% SystemRoot%
barlop
@Riscie: J'ai ajouté une version anglaise pour vous;)
Der Hochstapler le
Merci monsieur! :) @OliverSalzburg
Langhard le