关于如何对powershell脚本的参数强制执行以下约束,我需要一些帮助.我可以在该param
部分中指定这些约束.
例如,(只是一个例子,它不是我正在做的)对于一个被调用的脚本ReadPlainText.ps1
,我只想给出两个参数中的任何一个:Lines
或者Chars
,但不是两者.该命令ReadPlainText.ps1 Sample.txt -Lines 20 -Chars 10
应该导致错误.同样,该命令ReadPlainText.ps1 Sample.txt
应该导致错误.
您可以在PSH V2中执行此操作,参数属性并将两个参数放入不同的参数集中.
参数集是一组参数,一个命令可以有多个参数集,只有一个可用.所有参数都可以使用未分配给参数组的参数.这可以在标准cmdlet中看到(删除常用参数):
PS> gcm -syn get-content Get-Content [-Path] … Get-Content [-LiteralPath] …
要在脚本或函数中实现此目的:
[CmdletBinding]
为第一个非评论.(可以在此处指定默认参数集.)param
块装饰参数中,用Parameter
属性指定强制和参数集.从而:
[CmdletBinding] param ( [parameter(mandatory=$true,ParameterSetName='lines') [int]$Lines, [parameter(mandatory=$true,ParameterSetName='chars') [int]$|Chars )
访问使用中的参数集,该参数集$PSCmdlet
允许访问在C#或VB编写的cmdlet中可用的相同信息.
归档时间: |
|
查看次数: |
1626 次 |
最近记录: |