在 Powershell 中检查环境变量值

Check Environment Variable Value in Powershell

我正在尝试检查系统是否具有包含特定字符串的特定环境变量值;例如:

C:\Program Files\Java\jre1.8.0_271\bin

我找到了如何检查环境变量 是否存在 的方法:

if ([Environment]::GetEnvironmentVariable('path', 'Machine'))
{
  "Exist in the system!"
}

这可行,但我需要知道如何检查该值是否包含特定子字符串。

你可以试试:

$pathContent = [Environment]::GetEnvironmentVariable('path', 'Machine')
$myPath = "C:\WINDOWS\system32"
if ($pathContent -ne $null)
{
  # "Exist in the system!"
  if ($pathContent -split ';'  -contains  $myPath)
  {
    # My path Exists
    Write-Host "$myPath exists"
  }
  else
  {
    Write-Host "$myPath does not exist"
  }
}

-split 运算符生成一个字符串数组,其中 -contains 运算符测试 $myPath 是否在其中。