PowerShell中的布尔文字

时间:2012-05-14 10:05:33

标签: powershell

PowerShell中的布尔文字是什么?

3 个答案:

答案 0 :(得分:121)

$true$false

但这些都是常数。布尔语没有语言级文字。

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

答案 1 :(得分:15)

[bool]1[bool]0也有效。

答案 2 :(得分:2)

只是为了添加更多信息:当用作PowerShell(PS)脚本的命令行参数时,布尔文字$true$false也可以正常工作。对于存储在名为installmyapp.ps1

的文件中的以下PS脚本
param (
    [bool]$cleanuprequired
 )

echo "Batch file starting execution."

现在,如果我要从PS命令行调用此PS文件,我就可以这样做:

installmyapp.ps1 -cleanuprequired $true

OR

installmyapp.ps1 -cleanuprequired 1

此处1$true相同。 此外,0$false是等效的。

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

installmyapp.ps1 -cleanuprequired true

无法执行以下错误的脚本:

  

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