当前位置:  开发笔记 > 编程语言 > 正文

Windows 10上的环境变量太大

如何解决《Windows10上的环境变量太大》经验,为你挑选了5个好方法。

我知道这很奇怪,我花了将近3天的时间在线搜索解决方案而没有得到有用的解决方案.所以我决定来这里.

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

现在我想为我新安装的Apache Maven设置一个Environment变量.

每次我创建用户变量时,事情都很好.但是,我还需要创建系统变量,我需要将bin目录附加到我在用户变量中创建的变量"path".

现在,每次我这样做,我得到一个错误,说"这个环境变量太大.因此,我无法创建路径.

我附上了这个错误的图像.

如果有人能协助我解决这个问题,我将不胜感激.

提前感谢您的协助.在此输入图像描述



1> 小智..:

当PATH变量因过多的值而过载时,它会达到无法再添加值的程度.尝试以下方法可以解决您的问题.

解决方案1:

    创建一个新的系统变量说'NEWPATH'

    将bin目录位置分配给'NEWPATH'

    现在追加' ; %NEWPATH% '到PATH变量

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

解决方案2:

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

C:\ Program Files\Microsoft SQL Server\102\Tools\Binn \; C:\ Program Files\Microsoft SQL Server\102\DTS\Bin \;

可以合并到

C:\ Program Files\Microsoft SQL Server;

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

希望这对你有所帮助!


具有讽刺意味的是,Microsoft SQL Server设置了如此多的路径变量,以至于仅它一个就几乎占满了空间。我创建了一个PATHS_MSSQL变量,然后将%PATHS_MSSQL%添加到PATH变量中以代替它们。释放PATH变量中的大量空间。
欢迎来到我们的Swapnil Kamat社区。
这就像一个魅力,谢谢!但是,使用`setx PATH`时必须谨慎,因为这将直接解析`%NEWPATH%`并且结果字符串将再次过长...所以,使用这种方法,只有对话而不是命令应该使用线

2> Shital Shah..:

清理路径变量的方法很少.最简单的方法是使用Rapid Environment Editor.这个免费实用程序会,

    删除重复路径(右键单击>清除路径)

    删除不存在的文件夹(以红色显示,您需要手动删除)

    用短路径替换长路径(右键单击>长到短路径).

我按顺序执行上述步骤,并仅对最长路径使用第3步,直到路径变量大小再次处于控制状态.

如果你想更高级,这里有一个小C#工具,你可以修改为你想要实现的任何其他逻辑.



3> 小智..:

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

1)通过单击"编辑文本"(参见上面的屏幕截图)捕获当前PATH变量并将其复制到剪贴板并将其保存在文本文件中作为备份,以避免出现意外情况.这不是强制性的,但如果出现问题,您可以恢复.

2)现在它已备份,将以下内容添加到新的PowerShell(.ps1)文件中(修改下面的第一行以及要添加的文件夹路径(+号后面的部分):

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

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

$env:Path = $newPath

这就是我在玩Windows 10 UI之后设法获取我的(长)PATH变量,被长度限制和失去大部分路径所困扰.我希望它有所帮助.


PS可以使用更长的路径,但是传统的`setx / m`会截断为1048个字符:(。您也可以在文本编辑器中编辑路径,然后执行[[Environment] :: SetEnvironmentVariable(“ Path”,'\ my \ new; path1' ,“ Machine”)`。您将需要admin shell。

4> alexlomba87..:

除了Swapnil的答案之外,请注意您可以修改Path变量的最大长度,该变量历史上限制为260个字符.在Windows 10中,您可以通过将LongPathsEnabled注册表项设置为1来实现此目的,可在此处找到:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\FileSystem

要访问注册表编辑器:Windows Key+R,键入Regedit.

资料来源:https://superuser.com/a/1119980/327009

另请查看此超级用户的答案:https://superuser.com/a/1119980/327009


这是准确的建议吗?PATH变量的最大长度(即*多个路径*的连接)是2048个字符.您提到的260个字符是*一条路径*的最大长度.他们有关但不一样.

5> 小智..:

迟到的答案,但我正在寻找类似的东西,最终在这里.我改变了程序文件和程序数据变量的所有路径(这个节省了1个字符虽然不那么重要).

对于像nodejs这样的东西,我改变了正常的路径

C:\ Program Files \nodejs \

的%ProgramFiles%\的NodeJS \

这可以通过"C:\ Program Files(x86)\"以及"%ProgramFiles(x86)%"来完成.

它为我节省了几个字,但足以让我停止抱怨我的感觉.


为什么不使用%x86%替换"C:\ Program Files(x86)"和%x64%来替换"C:\ Program Files",这似乎是一种更好的方法来减少字符开销.
推荐阅读
谢谢巷议
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有