【发布时间】:2018-11-08 18:03:08
【问题描述】:
我正在尝试通过 Powershell 脚本将%JAVA_HOME%\bin 添加到Path 环境变量中。
JAVA_HOME 变量本身指向C:\Program Files\Java\jdk1.8.0_172。
当我从环境变量窗口手动添加%JAVA_HOME%\bin时
然后从Powershell中调用这行代码获取Path变量的值
[Environment]::GetEnvironmentVariable('Path', [System.EnvironmentVariableTarget]::Machine)
上面执行行的结果似乎将%JAVA_HOME%\bin 转换为我定义的实际路径C:\Program Files\Java\jdk1.8.0_172。
输出如下所示
...;C:\Program Files\nodejs;C:\Program Files\Java\jdk1.8.0_172\bin;
但是当我使用下面的代码通过 Powershell 脚本添加 %JAVA_HOME%\bin 时
[Environment]::SetEnvironmentVariable("Path", [Environment]::GetEnvironmentVariable('Path', [EnvironmentVariableTarget]::Machine) + "%JAVA_HOME%\bin", [EnvironmentVariableTarget]::Machine)
然后再次运行GetEnvironmentVariable函数,输出与我通过环境变量窗口添加路径时不同。它不会将%JAVA_HOME%\bin 转换为实际路径。
输出如下所示
....;C:\Program Files\nodejs\;C:\Program Files\Java\jdk1.8.0_172\bin;%JAVA_HOME%\bin
这是预期的吗?还是我遗漏了什么?
我实际上可以直接将真实路径附加到Path 变量,但我想使用JAVA_HOME 变量,因此路径将位于1 个位置。
【问题讨论】:
标签: windows powershell environment-variables