Answers:
向现有答案中添加更多信息:布尔文字$true
,$false
用作PowerShell(PS)脚本的命令行参数时,也照常工作。对于以下PS脚本,该脚本存储在名为的文件中installmyapp.ps1
:
param (
[bool]$cleanuprequired
)
echo "Batch file starting execution."
现在,如果我必须从PS命令行调用此PS文件,则可以通过以下方式进行:
installmyapp.ps1 -cleanuprequired $true
要么
installmyapp.ps1 -cleanuprequired 1
这里1
和 $true
是等效的。另外,0
和 $false
是等效的。
注意:永远不要期望字符串文字true
可以自动转换为布尔值。例如,如果我运行以下命令:
installmyapp.ps1 -cleanuprequired true
它无法执行脚本,并显示以下错误:
无法处理参数'cleanuprequired'的参数转换。无法将值“ System.String”转换为类型“ System.Boolean”。布尔参数仅接受布尔值和数字,例如$ True,$ False,1或0。