Powershell互斥参数


有时Powershell的函数需要互斥,让用户只能在其中二选一。
要给脚本创建一组互斥的参数,可以给他们打上不同的属性标志,同时确保它们的唯一性(假设不能自动识别参数类型).

function Test-ParameterSet
{
  [CmdletBinding(DefaultParameterSetName='number')]
  param
  (
    [int]
    [Parameter(ParameterSetName='number', Position=0)]
    $id,

    [string]
    [Parameter(ParameterSetName='text', Position=0)]
    $name
  )

  $PSCmdlet.ParameterSetName
  $PSBoundParameters
} 

上面函数有两个参数,-id和-name.用户只能使用其中一个,同时不能两个都用。同时这里例子也教了大家怎么去获取用户输入的参数。
原文地址:mutual-exclusive-parameters

本文链接: https://www.pstips.net/mutual-exclusive-parameters.html
请尊重原作者和编辑的辛勤劳动,欢迎转载,并注明出处!

发表评论

您的电子邮箱地址不会被公开。 必填项已用 * 标注