【发布时间】:2017-03-18 15:18:54
【问题描述】:
在处理传递给脚本的参数时,PowerShell 是否会进行某种最接近匹配或自动完成?鉴于此代码...
[CmdletBinding()]
Param(
[string][Alias("aS")] $applySet,
[string][Alias("cS")] $conformSet,
[string][Alias("sL")] $setList,
[Parameter(ValueFromRemainingArguments = $true)][Object[]]$extraParameters = @()
)
Write-Host "s: $set"
Write-Host "sL: $setList"
Write-Host "aS: $applySet"
Write-Host "cS: $conformSet"
Write-Host "X: $extraParameters"
如果我在脚本快捷方式中使用 -junk "junk",我会按预期在 $extraParameters 中获得该信息。拼写错误,比如 -aplySet,也会显示为一个额外的参数。但是,使用 -set 实际上会填充 $setList 变量,而不是像我预期的那样填充 $extraParameters。
已在 PowerShell 2.0 和 5.1 中验证。有什么想法吗?
【问题讨论】:
标签: powershell command-line-arguments