You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何为Cmdlet参数设置常用可选值列表并允许自定义输入?

需求可行,以下是实现方法

直接用[ValidateSet()]会严格限制输入范围,要同时实现提供常用选项补全和允许自定义输入,可以改用[ArgumentCompleter()]属性:

  • 该属性仅提供输入补全提示,不会限制用户输入任意合法值
  • 你可以在补全器中预定义常用的稳定构建路径,用户按Tab键就能快速选择
  • 用户依然可以手动输入其他任意构建路径,不会被拦截

示例代码:

function Invoke-Build {
    [CmdletBinding()]
    param(
        [Parameter(Mandatory)]
        [ArgumentCompleter({
            # 这里定义常用的稳定构建版本路径
            @('D:\Builds\Stable\VersionA', 'D:\Builds\Stable\VersionB')
        })]
        [string]$BuildPath
    )

    Write-Output "当前使用的构建路径: $BuildPath"
}

使用说明:

  • 执行Invoke-Build -BuildPath后按Tab键,会自动弹出预定义的两个路径选项
  • 直接输入其他路径(比如E:\MyCustomBuild\V2.0)也能正常执行,不会报错

内容的提问来源于stack exchange,提问作者deetle

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.04 02:00:34