我最近从Windows 8.1升级到Windows 10。
现在我想为Apache Maven的新安装设置一个环境变量。
每次我创建user变量时,事情都很好。然而,我还需要创建系统变量,我需要将bin目录附加到我已经在用户变量中创建的变量为“path”。
现在,每次我这样做,我都会得到一个错误,说“这个环境变量太大了”。因此,我无法创建路径。
我附上了这个错误的图片。
我最近从Windows 8.1升级到Windows 10。
现在我想为Apache Maven的新安装设置一个环境变量。
每次我创建user变量时,事情都很好。然而,我还需要创建系统变量,我需要将bin目录附加到我已经在用户变量中创建的变量为“path”。
现在,每次我这样做,我都会得到一个错误,说“这个环境变量太大了”。因此,我无法创建路径。
我附上了这个错误的图片。
当前回答
显然,快速环境编辑器将为您做这件事(从Shital Shah的回答),但你也可以缩短路径到他们的8.3文件名版本。你将得到很多里程只需这两个替换:
C:\Program Files --> C:\PROGRA~1
C:\Program Files (x86) --> C:\PROGRA~2
如果将当前路径复制到记事本,首先搜索并替换C:\Program Files (x86),然后是C:\程序文件。
其他回答
另一种绕过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变量,被长度限制捕获并丢失了大部分路径。
我也有同样的问题。最终,我不得不删除一个现有的变量,以使总长度小于2047。
然后我可以将%MAVEN_HOME%\bin添加到路径变量中。
有几种方法可以清理路径变量。最简单的是使用快速环境编辑器。这个免费的工具,
删除重复路径(右键单击→清除路径) 删除不存在的文件夹(如红色所示,需要手动删除) 将长路径替换为短路径(右键单击→长路径转换为短路径)。
我按顺序执行上述步骤,并仅对最长路径使用第三步,直到再次控制Path变量大小。
如果你想要更高级,这里有一个c#小工具,你可以修改为任何你想要实现的逻辑。
我发现你可以通过PowerShell来做到。
[System.Environment]::SetEnvironmentVariable("PATH", "C:\Program Files (x86......etc.....", "Machine")
所以我抓取了现有的系统路径,粘贴到记事本,添加我的新东西,然后粘贴到上面的“C:\Program Files”位。日志含义更新路径。完成了。
您还可以尝试检查您的变量,看看是否有任何不相关的路径可以删除。这将为您腾出一些空间来添加其他或更多变量。