从命令行将Windows添加到路径

3
使用Boxstarter和Chocolatey安装JDK以正确使用Maven和其他工具比较困难。您该如何添加环境变量?
setx -m path "C:\java"

但这将清除先前的环境变量。

建议这是一个重复的问题:我想要“添加”到环境变量而不是“设置”,而且我显然正在寻找一个cmd脚本。


1
环境变量 - Java安装的重复问题 - OneCricketeer
这显然是一个关于命令行的问题,而不是关于使用GUI的一般性问题@cricket_007。 - noobnoob
那个问题中列出了设置CMD的方法。 - OneCricketeer
虽然你应该在系统级别上设置它,而不是每个终端会话一次。 - OneCricketeer
可能是Java安装的环境变量的重复问题。 - finefoot
2个回答

2

这是我的Powershell追加测试建议。请注意,Windows 10之前的Windows存在限制。

Windows 8- 警告:保存的数据被截断为1024个字符。

Powershell -Command " setx -m pathtest \"$env:path ";" $env:JAVA_HOME\""


1
你应该使用以下代码在当前路径的末尾添加新路径:
setx /M PATH "%PATH%;<your-new-path>"

所以在你的情况下,它会像这样:

setx /M PATH "%PATH%;C:\java"

1
@user1198289 so? - Mohsen
3
永远不要使用 setx.exe 来定义 PATH。这个变量是基于其他在加载时扩展的变量定义的(例如 %UserProfile%)。更重要的是,它的定义被分成一个机器级别的值和一个用户级别的值,在加载时被连接起来。通过将其更新为 "%PATH%;<your-new-path>",你会使实现细节变得混乱糟糕。 - Eryk Sun
1
@user1198289 这就是为什么我接受了你的答案,你的例子非常准确。 - noobnoob
@ErykSun,这是一篇非常棒的笔记,对于像我这样不太有经验的用户来说并不明显。使用SETX解决方案看起来非常漂亮和吸引人,我差点就愉快地运行了那个SETX命令。幸好在此之前看到了你的评论。 看起来我们必须直接通过Windows注册表来完成它。 - 1234ru
@ErykSun,我找到了一篇不错的文章(http://www.dowdandassociates.com/blog/content/howto-set-an-environment-variable-in-windows-command-line-and-registry/),介绍如何从命令行获取和设置注册表值,但是他们说没有适当的命令行方式让操作系统识别新值。 - 1234ru
显示剩余3条评论

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接