Windows 7 的 PATH 和环境变量已损坏

Pav*_*l P 97 windows-7 path environment-variables

我不知道,但最近我一直遇到这个问题。运行我的工作站后突然有些东西破坏了 PATH 并且很多东西停止工作。最初,我的路径列出了许多目录(我使用 Windows 7 作为开发框),一段时间后,我的路径中只列出了 3-4 个目录。

我什至无法打开系统属性对话框,在那里我可以看到环境变量(因为它使用 shell 变量来启动它并且它不起作用)。简而言之,我每次都重新启动。

任何想法可能会导致该问题?我最近没有运行任何新的/不寻常的东西。只有 VmWare(但我过去一直在使用它,当时没有那个问题)。

我刚查了一下,甚至%WINDIR%没有定义。跆拳道?!

小智 126

我的博客

最重要的是,如果您的 PATH 环境变量超过 2048 个字符,它(和 WINDIR)在许多上下文中都不再可见。

我通过手动运行 c:\windows\system32\systempropertiesadvanced.exe 并从我的 PATH 中删除一个条目来修复它,将我置于 2048 个字符以下。新的 cmd 窗口工作得很好。

更新:这个类似的问题声称 2047 是最大值,并详细说明了扩展规则

  • 刚遇到这个问题。真是笑话。谢谢 (3认同)
  • 正如其他人提到的,在修复 PATH 后,如果您不想重新启动,只需在任务管理器中重新启动 explorer.exe。请确保不要通过右键单击任务栏来启动任务管理器!这样做将使用提升的路径(以及您的新 explorer.exe 进程)初始化任务管理器。通过 ctrl + shift + escape 启动它 (3认同)
  • 我只是通过重新启动计算机来解决问题...这真是 Windows 的愚蠢限制! (2认同)

小智 23

2048 个字符的限制是真实的。我所做的是将路径拆分为两个单独的变量,并在 PATH 变量中包含第二个变量:

PATH=C:\;%PATHEXTENDED%
PATHEXTENDED=E:\
Run Code Online (Sandbox Code Playgroud)

就像那样,我不必删除任何 PATH 目录,而是获得了 2048 个字符以下的 PATH 变量。

  • 好吧,这真是天才 (2认同)
  • 这个解决方案在 Win 7 中对我不起作用。 2 个变量的内容被连接,但 2048th(?) 之后的任何字符都被从生成的组合 PATH 变量中截断。所以我*不得不*最后从 PATH 中删除条目,按照@Raven,让我的图标和 `%windir%` 等回来。 (2认同)

Reg*_*dit 12

对于尝试解决此问题的任何人的解决方法修复,无论是由于过度path还是出于任何其他原因:只需重新启动资源管理器。新的 shell 选择了一个新的环境。这可以暂时修复损坏,而无需重新启动,即使您尚未能够确定并永久解决根本原因。

1.

在此处输入图片说明

2.

在此处输入图片说明

3.

在此处输入图片说明

编辑:更新较新版本的 Windows。

任务管理器现在一步完成:

在此处输入图片说明