Powershell和条件运算符
要么我不明白MSDN文档或文档是不正确的。
if($user_sam -ne "" -and $user_case -ne "") { write-host "Waaay! Both vars have values!" } else { write-host "One or both of the vars are empty!" }
我希望你明白我在试图输出什么。 我想填充$ user_sam和$ user_case为了访问第一个语句!
你可以简化它
if ($user_sam -and $user_case) { ... }
因为空string强制为$false
(对于这一点, $null
也是如此)。
另外一个select:
if( ![string]::IsNullOrEmpty($user_sam) -and ![string]::IsNullOrEmpty($user_case) ) { ... }
尝试像这样:
if($user_sam -ne $NULL -and $user_case -ne $NULL)
空variables是$null
然后不同于“” ([string]::empty).
你已经显示的代码将做你想要的。 如果这些属性没有被填充,那么这些属性就等于“”,如果它们在没有被填充时等于$ null,那么它们将不等于“”。 这里有一个例子来certificate你所拥有的“
$foo = 1 $bar = 1 $foo -eq 1 -and $bar -eq 1 True $foo -eq 1 -and $bar -eq 2 False