WINDIR 环境变量解析为 %SystemRoot% 而不是 C:\windows

WINDIR 环境变量解析为 %SystemRoot% 而不是 C:\windows

前段时间,我手动更改了WINDIR环境变量来测试我正在使用的旧程序中的某些内容(应该在虚拟机而不是桌面上执行此操作:/但现在已经太晚了)

因此由于某种原因,现在%WINDIR%不再解析为 c:\windows,而是 %SystemRoot%。从命令行:

echo %WINDIR% outputs %SystemRoot%

echo %SystemRoot% outputs C:\windows

无法解析 WINDIR 让我头疼不已。我尝试在 windows 提供的控制台中WINDIR明确将值设置为c:\windows,但无济于事。我还尝试手动更改 windir 注册表项的值

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

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

但还是没运气。有人见过这种行为吗?

忘了说这是在 Windows 7 Enterprise ed 上

答案1

请检查您拥有的值的类型为Windir。您可能无意中将其从 更改为REG_EXPAND_SZREG_SZ您必须直接在注册表中执行此操作(GUI 面板不会显示差异):

启动注册表编辑器,导航到HKEY_LOCAL_MACHINE\system\currentControlSet\Control\Session Manager\Environment
检查windir的类型为 REG_EXPAND_SZ
如果不是,请重新创建条目: windir REG_EXPAND_SZ %SystemRoot%

注销/登录并检查是否有效

答案2

更正!%SystemRoot%是默认值。因此,这个变量在您的系统中设置正确。

在此处输入图片描述

右击计算机 - 设置 - 高级系统设置 - 高级 - 环境变量在该窗口的第二部分(环境变量下),您可以找到您的变量温迪尔指向%systemroot%将其更改为%SystemRoot%,这是默认值,测试是否仍然出现错误。

相关内容