gpt4 book ai didi

powershell 对参数的约束

转载 作者:行者123 更新时间:2023-12-04 23:30:42 24 4
gpt4 key购买 nike

关于如何对 powershell 脚本的参数强制执行以下约束,我需要一些帮助。我可以在 param 中指定这些约束吗?部分。

  • 至少一个参数约束
  • 最多一个参数约束

  • 例如,(只是一个例子,这不是我正在做的)一个名为 ReadPlainText.ps1 的脚本,我只想给出两个参数之一: LinesChars ,但不是两者兼而有之。命令 ReadPlainText.ps1 Sample.txt -Lines 20 -Chars 10应该会导致错误。同样,命令 ReadPlainText.ps1 Sample.txt应该会导致错误。

    最佳答案

    在 PSH V2 中,您可以通过参数属性并将两个参数放入不同的参数集来执行此操作。

    参数集是一组组合在一起的参数,一个命令可以有多个参数集,并且只有一个可用。未分配给参数组的参数可用于所有参数。这可以在标准 cmdlet 中看到(删除常用参数):

    PS> gcm -syn 获取内容

    获取内容 [-Path] ...
    获取内容 [-LiteralPath] ...

    要在脚本或函数中实现这一点:

  • 添加 [CmdletBinding] 作为第一个不评论。 (可以在此处指定默认参数集。)
  • param block decorate parametersParameter属性来指定强制和参数集。

  • 因此:

    [Cmdlet绑定(bind)]
    参数 (
    [参数(强制=$true,ParameterSetName='行')
    [int]$线,
    [参数(强制=$true,ParameterSetName='chars')
    [int]$|字符
    )

    访问正在使用的参数集 $PSCmdlet它可以访问 C# 或 VB 编写的 cmdlet 中可用的相同信息。

    关于powershell 对参数的约束,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5404709/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com