在Powershell中检查环境变量值

jim*_*y20 2 powershell window environment-variables

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

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

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

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

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

JPB*_*anc 5

你可以试试 :

$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"
  }
}
Run Code Online (Sandbox Code Playgroud)

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