Pourquoi la commande set affiche-t-elle une valeur de variable PATHEXT différente de celle contenue dans le registre?

1

Je suis sur Windows Vista x64.

C:\Users\Piotr>set pathext
PATHEXT=.COM;.EXE;.BAT;.CMD;.VBS;.JS;.WS;.MSC

Autant que je sache, la valeur de la variable d'environnement PATHEXT est enregistrée dans HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environmentet les HKEY_CURRENT_USER\Environmentclés sont PATHEXTentrées. Dans mon cas, la première entrée est .COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC;.PY;.PYWet la seconde n'existe pas.

Pourquoi il y a une différence entre ce que la setcommande montre et ce qu'il y a dans le registre?

Piotr Dobrogost
la source

Réponses:

0

Dans ma question j'ai dit

Dans mon cas, la première entrée est .COM; .EXE; .BAT; .CMD; .VBS; .VBE; .JS; .JSE; .WS; .WF; .WSH. pas exister.

ce qui n'était pas vrai. En fait j'avais l' HKEY_CURRENT_USER\Environment\PATHEXTentrée et c'était vide . Il semblerait que cette entrée vide soit en quelque sorte réinitialisée PATHEXTà une valeur par défaut, ce qui élimine efficacement les valeurs supplémentaires ajoutées HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment\PATHEXT.

Piotr Dobrogost
la source
L'environnement utilisateur remplace (a une priorité plus élevée que) l'environnement système.
Synetech
La chaîne "par défaut" que vous voyez correspond au modèle de stratégie PATHEXT. Avez-vous un paramètre de stratégie de domaine ou un paramètre de stratégie locale pour PATHEXT?
user165568