Powershell“特殊”开关参数

问题描述 投票:0回答:2

我在下面具有powershell功能

Function Test
{
    Param
    (               
        [Parameter()]
        [string]$Text = "default text"
    )

    Write-Host "Text : $($Text)"
}

而且我希望能够像下面这样调用此函数:

Test -Text:应在主机上显示默认文本

Test -Text“另一个文本”:应在主机上显示提供的文本

我的问题是,powershell中不允许使用第一种语法。

关于如何实现此目标的任何想法?我想要一种'switch'参数,该参数可以采用布尔值以外的其他值。

谢谢

powershell parameters switch-statement
2个回答
0
投票

您遇到的问题在于参数集。 PowerShell将[string] $Text视为Default参数集,并期望如果您要传递-Text参数,它将被提供一个值。您可以这样解决:


-1
投票

只需在文本中输入变量,就像这样:

© www.soinside.com 2019 - 2024. All rights reserved.