我最近从Windows 8.1升级到Windows 10。

现在我想为Apache Maven的新安装设置一个环境变量。

每次我创建user变量时,事情都很好。然而,我还需要创建系统变量,我需要将bin目录附加到我已经在用户变量中创建的变量为“path”。

现在,每次我这样做,我都会得到一个错误,说“这个环境变量太大了”。因此,我无法创建路径。

我附上了这个错误的图片。


当前回答

尝试通过RegEdit进行修改。在我的例子中,当长度超过3000时,它可以工作。

按“Win + R”,输入“regedit”,打开“regedit”。打开“Computer\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment”,将“Path”的值修改为您的路径。重启电脑,应该就能工作了。

其他回答

我更改了Program Files和programdata的所有变量路径(这一个保存为一个字符,但不那么重要)。

对于Node.js这样的东西,我改变了的正常路径

C:\Program Files\nodejs\

to

%程序文件%\nodejs\

这可以用“C:\Program Files(x86)”来完成,也可以用“%ProgramFiles(x86)%”来完成。

它为我节省了几个角色,但我觉得足够让它停止抱怨了。

另一种绕过PATH环境可变长度限制的解决方案是使用PowerShell脚本管理路径(添加、删除或更新);

通过点击“编辑文本”(见上面的截图)捕获当前的PATH变量,并将其复制到剪贴板中,并将其保存在文本文件中作为备份,以避免糟糕的意外。这不是强制性的,但可以让您在出现问题时恢复。 现在它已经备份,将以下内容添加到一个新的PowerShell (.ps1)文件中(使用您想要添加的文件夹路径(+号后面的部分)修改下面的第一行:

$newPath = $env:Path + '; C:\Users\....\FirstFolderToAddToPath; C:\Users\....\SecondFolderToAddToPath;'

[Environment]::SetEnvironmentVariable("Path", $newPath, "Machine")

$env:Path = $newPath

这就是我在使用Windows 10 UI后如何设法获得我的(长)PATH变量,被长度限制捕获并丢失了大部分路径。

显然,快速环境编辑器将为您做这件事(从Shital Shah的回答),但你也可以缩短路径到他们的8.3文件名版本。你将得到很多里程只需这两个替换:

C:\Program Files       --> C:\PROGRA~1
C:\Program Files (x86) --> C:\PROGRA~2

如果将当前路径复制到记事本,首先搜索并替换C:\Program Files (x86),然后是C:\程序文件。

所以我发现了同样的问题,我注意到有很多重复的指向同一个位置。 我删除了副本,当你点击“编辑环境变量”按钮时,可以通过删除选项来完成。

你可以编辑文本,从那里复制文本,使用任何流行的应用程序,如记事本,excel(使用分隔符为;然后删除重复的),或者使用python(使用.split(";"),转换成一个集合,";".join(stringSet),复制到一个记事本文件,然后使用ctrl+ H ie查找和替换将\替换为\)。

除了其他方法(例如,PowerShell),我还发现了一个很好的GUI,“快速环境编辑器”,它可以处理较大的文本值。