PowerShell 中的三元运算符如何工作?
powershellmicrosoft technologiessoftware & coding更新于 2026/2/9 22:37:17
PowerShell 中的三元运算符是在 PowerShell 7.0 版本中引入的。三元运算符带有"?"(问号)符号,其语法如下:
[条件] ?(如果为 True 则输出):(如果为 false 则输出)
三元运算符的左侧是条件,右侧是根据条件语句的输出。条件的输出以布尔值的形式表示:如果条件为真,则执行 True 代码块;如果条件为假,则执行 False 代码块。例如:
示例
$a = 5; $b = 6 ($a -gt $b) ? "True" : "false"
输出
false
如您所见,值 5 小于 6,因此上述条件为 false,并执行第二个代码块。您也可以修改该语句,例如:
($a -gt $b) ? ("$a 大于 $b") : ("$a 小于 $b")
输出
5 小于 6
您可以看到代码量只减少了一行,如果我们使用 if/else 条件编写相同的代码,那么
$a = 5; $b = 6
if($a -gt $b){"$a is greater than $b"}
else{"$b is greater than $a"}
三元运算符的使用似乎很简单。您也可以在运算符左侧使用 cmdlet,返回布尔值。
示例
(Test-Connection google.com -Count 2 -Quiet) ? "Google.Com 服务器可访问" : "Google.Com 服务器无法访问"
输出
Google.Com server is reachable
尽量简化这个三元运算符。如果将三元运算符的右侧部分用于脚本编写,它并不总是有效。

