更改路径环境变量中的值

米切特

我公司使用的程序在更新Java时会中断。这是由于程序安装(我假设)在Path环境变量中放置了指向Java的静态路径。例如,当前有问题的Path变量是C:\Program Files (x86)\Java\jre1.8.0_171\bin\client,但是如果更新了Java并重新安装了程序,则Path变量将更新为include 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中仍然可行吗?

马克西米利安·波斯兹利(Maximilian Burszley)

您可以使用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才能执行这些命令。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章