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

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

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

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

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


当前回答

当PATH环境变量重载了太多值时,就会达到不能再添加值的地步。尝试下面的方法应该可以解决你的问题。

解决方案1:

创建一个新的系统环境变量,写入NEWPATH 将bin目录位置分配给'NEWPATH' 现在添加';%NEWPATH%'到PATH环境变量

如果这仍然不起作用,那么尝试将PATH环境变量的一部分已经存在的值复制到'NEWPATH',然后追加'NEWPATH'。

解决方案2:

如果可以对路径进行分组和缩短,请检查PATH环境变量的值。例如,

C:\Program Files\Microsoft SQL Server\102\Tools\Bin;C:\程序文件\Microsoft SQL Server\102\DTS\Bin;

可以组合为

C:\Program Files\Microsoft SQL Server;

通过这种方式,您可以在固定长度的PATH变量中构建更多的空间,并最终将bin目录位置调整为PATH。

其他回答

我发现你可以通过PowerShell来做到。

[System.Environment]::SetEnvironmentVariable("PATH", "C:\Program Files (x86......etc.....", "Machine")

所以我抓取了现有的系统路径,粘贴到记事本,添加我的新东西,然后粘贴到上面的“C:\Program Files”位。日志含义更新路径。完成了。

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

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

C:\Program Files\nodejs\

to

%程序文件%\nodejs\

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

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

我发现这个AutoHotkey脚本很有用,用于编辑或添加到我的极长的路径(现在是3743个字符):

https://gist.github.com/roblogic/59898966f3ce594eb78a5b6147013194

(我不知道这么长的路会有什么后果;我可能还得修。)

另一种绕过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变量,被长度限制捕获并丢失了大部分路径。

当PATH环境变量重载了太多值时,就会达到不能再添加值的地步。尝试下面的方法应该可以解决你的问题。

解决方案1:

创建一个新的系统环境变量,写入NEWPATH 将bin目录位置分配给'NEWPATH' 现在添加';%NEWPATH%'到PATH环境变量

如果这仍然不起作用,那么尝试将PATH环境变量的一部分已经存在的值复制到'NEWPATH',然后追加'NEWPATH'。

解决方案2:

如果可以对路径进行分组和缩短,请检查PATH环境变量的值。例如,

C:\Program Files\Microsoft SQL Server\102\Tools\Bin;C:\程序文件\Microsoft SQL Server\102\DTS\Bin;

可以组合为

C:\Program Files\Microsoft SQL Server;

通过这种方式,您可以在固定长度的PATH变量中构建更多的空间,并最终将bin目录位置调整为PATH。