为什么set命令显示的PATHEXT变量值与注册表中的值不同?


1

我在Windows Vista x64上。

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

据我所知,PATHEXT环境变量的值保存在项中,HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment并且HKEY_CURRENT_USER\EnvironmentPATHEXT输入下。在我的情况下,第一个条目是.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC;.PY;.PYW,第二个条目不存在。

为什么set显示的命令与注册表中的命令有区别?

Answers:


0

在我的问题中,我说

在我的情况下,第一个条目是.COM; .EXE; .BAT; .CMD; .VBS; .VBE; .JS; .JSE; .WSF; .WSH; .MSC; .PY; .PYW,第二个条目是不存在。

这不是真的。实际上,我已经HKEY_CURRENT_USER\Environment\PATHEXT进入,它是空的。看起来该条目为空似乎会以某种方式重置PATHEXT为默认值,从而有效地消除了添加到的任何额外值HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment\PATHEXT


用户环境将覆盖系统环境(优先级高于系统环境)。
Synetech

您看到的“默认”字符串与PATHEXT策略模板匹配。您是否具有PATHEXT的域策略设置或本地策略设置?
user165568 2014年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.