路径中的变量问题

路径中的变量问题

使用 Windows7,有一个路径问题我已经设置了 ENV 变量 ANT_HOME c:\ant 我添加到 PATH:;%ANT_HOME%\bin;

当我做

echo %ANT_HOME%

我得到:C:\ant ——这很好用

但如果我这么做

echo %PATH%

我没有得到翻译的 ANT_HOME,我只得到了如下所示的 %ANT_HOME%

;%ANT_HOME%\bin;

相反,如果我将路径设置为: ;c:\ant\bin; ——一切正常

我究竟做错了什么?

答案1

Windows 没有非常先进的环境变量依赖性解析功能。如果您设置了系统环境变量,则可以在每个用户环境变量中引用它,并且它将被扩展。从每个用户变量引用另一个每个用户变量(或从新的系统变量引用另一个系统变量)没有什么特别之处。试图找出哪些变量依赖于哪些其他变量会很快变得非常复杂。

如果您确实希望每个用户都%PATH%包含扩展%ANT_HOME%变量,%ANT_HOME%则必须是系统环境变量。最简单的解决方案可能是将目录的完整路径(不是变量形式)放入PATH.

进一步阅读:隐藏变量作者:Raymond Chen。

相关内容