首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Powershell默认参数集无法工作。错误

Powershell默认参数集无法工作。错误
EN

Stack Overflow用户
提问于 2016-07-14 20:51:04
回答 1查看 2.8K关注 0票数 3

我正在尝试使用参数集和默认参数集。但是默认的参数集似乎不适用于我。任何帮助都是非常感谢的。我可以很容易地使用验证集与默认操作,但我想知道我做错了什么在这里。

代码语言:javascript
复制
Param([cmdletbinding(DefaultParametersetname="Directory")] 
      [Parameter(Mandatory=$false,ParameterSetName="File")]
      [switch]$file, 
      [Parameter(Mandatory=$false,ParameterSetName="Directory")]  
      [switch]$directory,

[Parameter(Mandatory=$false,ParameterSetName="File")] 
[Parameter(Mandatory=$false,ParameterSetName="Directory")] 
[string]$Source,
[Parameter(Mandatory=$true,ParameterSetName="File")]  
[Parameter(Mandatory=$true,ParameterSetName="Directory")] 
[string]$DestinationPath, 
[Parameter(Mandatory=$false,ParameterSetName="Directory")] 
[Parameter(Mandatory=$false,ParameterSetName="File")]
[array]$Servers

PS C:\> Test-Script -Source "c:\somedirectory" -DestinationPath "c:\someotherdirectory"

测试脚本:无法使用指定的命名参数解析参数集。 一行:1个字符:1个

  • 测试脚本“c:\ -Source目录”-DestinationPath“c:\目录”
  • + CategoryInfo : InvalidArgument: (:) [Test-Script], ParameterBindingException + FullyQualifiedErrorId : AmbiguousParameterSet,Test-Script
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-07-14 21:47:54

attribute需要位于param块之外,紧接param关键字之前,否则它将被忽略:

代码语言:javascript
复制
[CmdletBinding(DefaultParametersetname="Directory")]
Param(
    [Parameter(Mandatory=$false,ParameterSetName="File")]
    [switch]$file, 

    [Parameter(Mandatory=$false,ParameterSetName="Directory")]
    [switch]$directory,

    [Parameter(Mandatory=$false,ParameterSetName="File")]
    [Parameter(Mandatory=$false,ParameterSetName="Directory")]
    [string]$Source,

    [Parameter(Mandatory=$true,ParameterSetName="File")]
    [Parameter(Mandatory=$true,ParameterSetName="Directory")]
    [string]$DestinationPath,

    [Parameter(Mandatory=$false,ParameterSetName="Directory")]
    [Parameter(Mandatory=$false,ParameterSetName="File")] 
    [array]$Servers
)
票数 8
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38384019

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档