我想检查 Windows 服务器中的 PATH 是否包含一些字符串。如果不是,我希望将它添加到PATH。我想添加这个“CommonLib ”文件夹。我尝试在 IF 子句中立即执行:
> $CommonLib="C:\Program Files\Front\CommonLib"
> if (($env:Path -split ";").NotContains($CommonLib)) {Write-Host "executing the code"}
InvalidOperation: Method invocation failed because [System.String] does not contain a method named 'NotContains'.
包含被识别(我可以通过执行 ELSE 子句中的代码来做到这一点)但NotContains不是。我该如何解决这个问题?谢谢!!!
该else
分支是一个坚实的选择。编写和理解很简单。像这样,
if (($env:Path -split ";").Contains($CommonLib)) {
Write-Host "$CommonLib is in path"
} else {
Write-Host "$CommonLib is NOT in path"
}
也可以进行测试并将结果存储在变量中。逻辑运算符 like-not
可用于反转其值。测试 if 通常something is something
比someting is not someting
. 像这样,
$CLInPath = ($env:Path -split ";").Contains($CommonLib)
if(-not $CLInPath) {
Write-Host "$CommonLib is NOT in path"
}
这避免了if..else
分支,如果另一个分支不执行任何操作,则需要分支。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句