本质上,我有一个 If 语句,它有两个使用 -and
的条件,然后运行一个字符串。然而,我真正想要的是通过第一个条件运行的字符串,然后如果这是真的,它会检查第二个条件,如果这是真的,它会做一件事,如果是假的,它会做其他事情。
我目前有:
if(($_ -match "/cls") -and ($env:UserName -eq $Name)){cls}
我知道我可以做我想做的事:
if(($_ -match "/cls") -and ($env:UserName -eq $Name)){cls}
elseif(($_ -match "/cls") -and ($env:UserName -ne $Name)){OTHER COMMAND}
但是我想知道是否有更简单的方法。
(结果已经从其他地方通过管道传入,因此是 $_
)
最佳答案
将第一个匹配项移至外部范围。
if($_ -match "/cls")
{
if ($env:UserName -eq $Name))
{
cls
}
else
{
other command
}
}
关于powershell - 通过多个 if 语句传递字符串,每个语句都有一个 else,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43323433/