【问题标题】:How can I reuse environment variables in Windows?如何在 Windows 中重用环境变量?
【发布时间】:2015-04-30 09:58:32
【问题描述】:

我以前是这样用的。

JAVA_HOME=C:\...
Path=...;%JAVA_HOME%\bin

我想为JAVA_HOME 使用两个单独的变量并尝试了这个。

JAVA7_HOME=C:\...
JAVA8_HOME=C:\...
JAVA_HOME=%JAVA8_HOME%
Path=...;%JAVA_HOME%\bin

而且它似乎不起作用。 Path 的实际值只包含%JAVA8_HOME%

C:\Users\whoami\>echo %Path%
...;%JAVA8_HOME%\bin;...

C:\Users\whoami\>

我怎样才能做到这一点?

【问题讨论】:

  • 我假设您在控制面板环境变量对话框中定义这些。 REG_EXPAND_SZ 变量的赋值顺序(即该值至少有两个 % 符号)未定义,因为注册表项中值的枚举顺序未定义。因此,REG_EXPAND_SZ 变量(例如 Path)应该直接依赖于简单的 REG_SZ 变量,例如 JAVA7_HOME

标签: windows environment-variables java-home


【解决方案1】:

SETDisplay, set, or remove CMD environment variables。使用 SET 所做的更改将仅在当前 CMD 会话期间保留。

set "JAVA7_HOME=C:\..."
set "JAVA8_HOME=C:\..."
set "JAVA_HOME=%JAVA8_HOME%"
set "Path=%Path%;%JAVA_HOME%\bin"

注意所有SET "variable=string"中的"双引号:用于确保变量name或字符串value中没有多余的空格.

变量名或字符串周围的任何多余空格都会 不容忽视。 SET 不会像许多其他人一样容忍额外的空间 脚本语言。

注意 PATH Display or set a search path for executable files。因此,而不是

set "Path=%Path%;%JAVA_HOME%\bin"

你可以简单地使用

Path=%Path%;%JAVA_HOME%\bin

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-01-11
    • 2015-08-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-07-04
    • 2010-10-15
    相关资源
    最近更新 更多