我想使用⍋对升序进行排序,并使用⍒对降序进行排序。
我已成功将⍋设置为排序的别名(默认为升序):
Set-Alias -Name ⍋ -Value Sort-Object
我失败,无法将set设置为别名以降序排列:
Set-Alias -Name ⍒ -Value Sort-Object -Descending
这是我收到的错误消息:
Set-Alias : A parameter cannot be found that matches parameter name 'Descending'.
At line:1 char:38
+ Set-Alias -Name ⍒ -Value Sort-Object -Descending
+ ~~~~~~~~~~~
+ CategoryInfo : InvalidArgument: (:) [Set-Alias], ParameterBindingException
+ FullyQualifiedErrorId : NamedParameterNotFound,Microsoft.PowerShell.Commands.SetAliasCommand
任何帮助将不胜感激。
答案 0 :(得分:1)
您不能设置包含参数的别名。 您需要创建一个包装cmdlet的函数。
function Sort-ObjectDescending
{
[Alias("⍒")]
param(
[Parameter(Position = 0)]
[Object[]]
$Property,
[Switch]
$CaseSensitive,
[String]
$Culture,
[Switch]
$Unique,
[Parameter(ValueFromPipeline)]
[PSObject]
$InputObject
)
begin {
try {
$scriptCmd = { Sort-Object -Descending @PSBoundParameters }
$steppablePipeline = $scriptCmd.GetSteppablePipeline()
$steppablePipeline.Begin($PSCmdlet)
} catch {
throw
}
}
process {
try { $steppablePipeline.Process($_) } catch { throw }
}
end {
try { $steppablePipeline.End() } catch { throw }
}
}