PowerShell 中的布尔文本

PowerShell 中的布尔值是什么?

118224 次浏览

$true$false

但这些都是常量,布尔型没有语言级的文字。

取决于您需要它们的位置,您也可以使用任何 胁迫到布尔值的值,如果类型必须是布尔值,例如,在需要布尔值(并且没有冲突重载)的方法调用中,或者条件语句中。例如,大多数非空对象都为 true。null、空字符串、空数组和数字 0都为 false。

[bool]1[bool]0也可以工作。

为了给已经存在的答案添加更多信息 : Boolean 文本 $true$false也可以作为 PowerShell 脚本的命令行参数使用。对于下面存储在名为 installmyapp.ps1的文件中的 PowerShell 脚本:

param (
[bool]$cleanuprequired
)


echo "Batch file starting execution."

现在,如果我必须从 PowerShell 命令行调用这个 PowerShell 文件,我可以这样做:

installmyapp.ps1 -cleanuprequired $true

或者

installmyapp.ps1 -cleanuprequired 1

这里 1$true是等价的,0$false也是等价的。

注意 : 永远不要期望字符串文字 true可以自动转换为布尔值。例如,如果我运行以下命令:

installmyapp.ps1 -cleanuprequired true

执行脚本时出现以下错误:

无法处理参数“ cleanupre”上的参数转换。 无法将值“ System.String”转换为类型“ System.Boolean” 参数只接受布尔值和数字,例如 $True, $假,1或0。