无法显示 PowerShell 中命令标志的帮助

无法显示 PowerShell 中命令标志的帮助

我是一个很啰嗦的人,所以我通常创建一个新目录而不使用这样的别名。

新物品驴-ItemType d

一位不太爱说话的同事对此喋喋不休,而由于与我共事是一件非常愉快的事情,我想我应该简短一点,因为我希望那些不爱说话的人也能感到满意。所以我就这样做了。

ni 驴子-ItemType d

然后,有件事打击了我,我尝试了以下的做法,只是为了好玩,完全预料到会挨一巴掌,告诉我去做自己的事情。

ni 驴子

你不知道吗?它确实有效!因此,我很高兴能为我那位讨厌用语言表达的朋友把一切都解释得非常隐晦,我开始研究我还能缩写什么。我这样做了。

获取帮助 ni
获取帮助 它

第一个命令如预期般向我提供了命令,包括它的别名,而第二个命令却冲我咆哮,告诉我没有别名。好吧,对不起,我刚刚执行了命令,所以我知道有别名。

经过几次 ”还有!没有。 还有!没有。“我意识到我无法战胜 PowerShell 顽固的红色消息。所以,我的问题如下。

  1. 首先要有一个别名吗?
  2. 我如何获得帮助(是别名还是其他什么)?

答案1

在 PowerShell 中我们有两种类型的别名,用于 cmdLets/functions 和参数。

Get-Alias显示 CmdLets/Functions 的定义别名

要查看参数的别名,New-Item您可以使用:

(gcm -Name New-Item).parameters.values | ? { $_.aliases } | ft name, aliases

你得到:

Name         Aliases
----         -------
ItemType     {Type}
Value        {Target}
Verbose      {vb}
Debug        {db}
ErrorAction  {ea}
...

因此你可以使用:

New-Item Donkey -Type d

因为TypeItemType

事实上,其-it工作原理已经在注释中进行了解释,对于参数,您可以指定参数名称的唯一前几个字母。

创建目录的最短方法是:

md Donkey

md是一个别名,mkdir它又是一个使用New-Item -ItemType Directory

如果您需要查看参数别名而又不记住上面的长命令,请将以下内容放入您的 PowerShell 配置文件中:

function Get-ParameterAlias([string]$cmd)
{
    (gcm -Name $cmd).parameters.values | ? { $_.aliases } | ft name, aliases
}
Set-Alias -Name gpa -Value Get-ParameterAlias

现在你可以使用:gpa New-Item来获取其参数别名

相关内容