Ste*_*afa 3 powershell enums parameter-passing
[Parameter (Mandatory=$False)]
[ValidateSet("Val1", "Val2", "Val3", "Val4", "Val5",ignorecase=$true)]
[string[]] $configs = ""
Run Code Online (Sandbox Code Playgroud)
有没有办法改变上面的内容,以便我可以一次接受几个枚举值?
我希望能够像这样启动脚本:
.\ MyAwesome-Script.ps1 -config Val1 Val2(或枚举值的任意组合作为参数)
但我需要这个也是标签完整的(甚至一个字?)
为了完整性,我正在使用PS 4.0和PSCX 3.1也已安装
只需使你的变量成为一个数组,它就可以了.鉴于以下功能:
function Test-ValidateSet
{
PARAM(
[ValidateSet("Val1", "Val2", "Val3")]
[string[]]$MyParam
)
foreach($value in $MyParam)
{
Write-Host "Parameter given: $value"
}
}
Run Code Online (Sandbox Code Playgroud)
对于上面的方法,我得到tab了MyParam参数的完成.要为参数输入数组,只需使用逗号字符分隔值.
Test-ValidateSet -MyParam Val1, Val2, Val3
Run Code Online (Sandbox Code Playgroud)
这支持tabPowerShell控制台和PowerShell ISE中的完成.
| 归档时间: |
|
| 查看次数: |
5340 次 |
| 最近记录: |