在 Powershell 中处理字符串参数的布尔值
Posted
技术标签:
【中文标题】在 Powershell 中处理字符串参数的布尔值【英文标题】:Handling boolean values for String parameters in Powershell 【发布时间】:2016-10-29 02:55:59 【问题描述】:使用 Powershell 我想如下调用我的脚本:
myscript.ps1 -device1 enable -device2 disable -device3 enable
每个device
参数定义为String
后跟bool
值。
param(
[string] $device1,
[string] $device2,
[string] $device3
)
PowerShell 是否通过一些预定义的函数或参数支持这一点,或者您会以完全不同的方式实现它吗?我想避免解析 enable
和 disable
。
【问题讨论】:
【参考方案1】:我会使用switch
:
param(
[switch] $device1,
[switch] $device2,
[switch] $device3
)
因此您可以使用以下方式调用您的脚本:
myscript.ps1 -device1 -device3
【讨论】:
这意味着例如device2
调用脚本时如果不设置会设置为false
?
完全正确。如果您愿意,您也可以使用 -device2:$false
指定它,但您不必这样做。
查看technet.microsoft.com/en-us/magazine/jj554301.aspx 和ss64.com/ps/syntax-args.html 了解更多信息以上是关于在 Powershell 中处理字符串参数的布尔值的主要内容,如果未能解决你的问题,请参考以下文章