更新2- 现在是一个实际的问题:为什么嵌套的,用户创建的变量无法扩展?
关于Windows中的变量扩展,存在一些一般性问题。我已经遇到了相同的问题,没有发现明确的,可重现的情况-扩展失败的递归级别不一致,特殊字符似乎没有作用,等等。
我发现的唯一可行的解决方法是按递归级别添加变量递归级别。这意味着:尝试删除要嵌套的所有变量(包括从PATH到用户定义的变量的调用),然后从头开始。定义您的基本变量(例如ANT-HOME),提交,检查是否已扩展,如果已扩展,则继续进行下一级提交,检查...您知道了。
更新的答案-使用CLI和GUI定义永久环境变量 - 向下滚动以获取原始答案
GUI方法:
在Windows 7上,只需在META-Prompt中键入“ system”,您将看到一个条目“ Edit the System Environment Variables”。在此处,单击“环境变量”。在这里,您可以编辑系统变量PATH(底部列表),也可以在用户环境变量中添加/编辑新的PATH变量。
命令行方法:
要永久更改环境变量,必须在Windows命令行中使用SETX命令。与其他版本的Windows不同,它是Windows 7内置的。其语法与SET有所不同,但功能也很强大。不过,您必须要小心一点,用SETX弄乱变量很容易。
要将新值添加到路径,现在可以输入
setx path "%path%;yournewpath" /m
遵循该语法很重要!如果您不首先包含%path%,则所有现有的path值都将丢失,仅由新路径替换。
最后的/ m开关在系统环境中设置变量。
请注意,您必须调出新的命令行才能使用新变量。
TechNet上还有SETX的完整参考。
旧答案
命令SET仅在当前命令行会话的持续时间内更新变量。
为变量添加值的正确语法是'set [variable] =%[variable]%; [new value]`
请注意,等号左边必须省略百分号!
来源:Windows Server的TechNet命令行参考