基本上我有一个使用-and
有两个条件的If语句,然后运行一个字符串。但是,我真正想要的是在第一个条件下运行的字符串,如果是真的,它会检查第二个,如果是真的它会做一件事,如果是假则做其他事情。
我目前有:
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}
但我想知道是否有更简单的方法。
(结果已经从其他地方输入,因此$_
)
答案 0 :(得分:2)
将第一个匹配移动到外部范围。
if($_ -match "/cls")
{
if ($env:UserName -eq $Name))
{
cls
}
else
{
other command
}
}
答案 1 :(得分:1)
我会写两个if语句来提高可读性。这样,您还需要一次::
的管道值if($_ -match "/cls")
{
if ($env:UserName -eq $Name)
{
cls
}
else
{
#OTHER COMMAND
}
}