更改路径环境变量中的值

时间:2018-08-15 21:01:40

标签: powershell

我的公司使用的程序在更新Java时会中断。这是由于程序安装(我假设)在Path环境变量中放置了指向Java的静态路径。例如,当前有问题的Path变量是C:\Program Files (x86)\Java\jre1.8.0_171\bin\client,但是如果更新了Java并重新安装了程序,则Path变量将更新为包括C:\Program Files (x86)\Java\jre1.8.0_181\bin\client

我可以在https://blogs.technet.microsoft.com/heyscriptingguy/2007/11/08/hey-scripting-guy-how-can-i-remove-a-value-from-the-path-environment-variable/上找到我需要的(我认为),但是该代码适用于Powershell 2.0,在Windows 10上不起作用。

在Windows 10中这仍然可行吗?

2 个答案:

答案 0 :(得分:1)

您可以使用System.Environment类在机器范围内修改环境变量:

# get the PATH and split it up
$PATH = [Environment]::GetEnvironmentVariable('PATH', 'Machine') -split ';'

# filter out the JRE paths
$PATH = $PATH -notmatch 'java\\jre'
# get any real JRE paths
$PATH += (Get-Item -Path "${Env:ProgramFiles(x86)}\Java\jre*\bin\client").FullName
$PATH = $PATH -join ';'

[Environment]::SetEnvironmentVariable('PATH', $PATH, 'Machine')

注意:您将需要运行提升的Shell才能执行这些命令。

答案 1 :(得分:0)

Java并不是Windows的问题,因此TechNet不会为您提供帮助。下面有一个修复程序。

Windows 10和Windows 8:

  • 打开 Legacy 控制面板

  • 单击高级系统设置链接。

  • 点击环境变量。在系统变量部分中,找到 PATH 环境变量并选择它。

  • 单击编辑

  • 如果PATH环境变量不存在,请单击 New

  • 编辑系统变量(或新系统变量)窗口中,指定PATH环境变量的值。

  • 单击确定

  • 通过单击确定关闭所有剩余的窗口。

  • 重新打开PowerShell窗口,然后运行Java代码。

来源:https://www.java.com/en/download/help/path.xml