我对 Powershell 还很陌生,所以我可能会遗漏一些东西,所以请听:
注意:我在所有函数前加上我的姓名首字母 Function mts_do_something()
我正在尝试浏览函数列表 ( Get-Command mts_*
) 并获取它们的关联别名。
但是,某些函数没有别名 ( so Get-Alias -Definition mts_do_something
),此命令会返回错误。因此,我浏览了别名列表并尝试将它们与“GCM”中的项目相匹配。
示例代码:
Get-Command mts_* | foreach-object -Process {
$name = $_.ToString()
$aliasName = ""
Get-Alias -Definition mts_* | ForEach-Object -Process {
if($_.Definition -eq $Name) {
$aliasName = $_.Name
}
}
if([string]::IsNullOrEmpty($aliasName.ToString().Trim()))
{
Write-Host " " $name.PadRight(30)
}
else
{
Write-Host " " $name.PadRight(30) " --> " $aliasName
}
}
样本输出:
mts_do_something
mts_my_function --> myf
mts_fix_car
mts_walk_dog --> wDog
问题:虽然这段代码产生了所需的输出,但有没有一种优雅的方法可以做到这一点?