首页 > 解决方案 > 在 Powershell 中检查环境变量值

问题描述

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

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

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

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

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

标签: powershellenvironment-variableswindow

解决方案


你可以试试 :

$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符 test if$myPath位于其中。


推荐阅读