一小时前,正常重启后,我的 PATH 环境变量就消失了。
确实如此不是出现在:
- 不在系统属性/高级/环境变量中。
- 也不在“用户”下,也不在“系统”变量下
- 不在注册表 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment 中
幸运的是,我已经备份了我的环境变量,所以唯一的问题是
为什么会发生这种事? (而不是“如何修复它”)
。
- 我使用的是 Windows XP,sp3。
- 事件发生前,我曾尝试安装一台新显示器,但没有成功
- 我还有其他自定义变量,是我根据自己的需要手动创建的,所有这些变量仍完好无损。只有 PATH 变量消失了!
- 所有这些变量(PATH 和我手动定义的变量,定义为系统变量,而不是用户变量
- 由于没有 PATH 变量,默认 PATH 指向 C:\Windows\system32。我猜这排除了那种安全攻击。(或者只是证明了相反的观点?!)
编辑:我排除了小精灵的可能性,因为它发生在午夜之前和晚上 9 点之后
编辑2:我三天前刚运行了 2 个注册表清理程序(reg-mechanic 和 regSeeker)。第一个程序运行起来非常耗时。它不是魔法精灵,但很接近魔法精灵了 ;)
编辑3- 我最近没有接触或更改我的环境变量,所以这不是“意外”。此外,它已经发生过两次了。
答案1
这可能是由于 vbs 脚本中 setx.exe 的误用造成的。
使用 setx.exe 时,始终用双引号括住变量内容,例如
setx.exe varname "value of that var" -m
来自 vb 变体:
cmd = "setx " + varName + " """ + Value + """ -m"
答案2
我不知道是什么原因造成的,但我遇到了同样的问题,所以我打开 cmd 并输入 PATH,然后复制屏幕上弹出的内容,打开系统环境变量,单击新建并创建一个名为 PATH 的变量,在值中粘贴我从 cmd 复制的内容。希望这能解决你的问题