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


0

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

New-Item Donkey -ItemType d

一个不那么冗长的同事唠叨起来,因为我很高兴和喜欢合作,我以为我会把它缩短,因为我希望那些不知名的人也满足。所以我就是这样。

ni Donkey -ItemType d

然后,有些东西打击了我,我尝试了下面的内容,只是为了它的乐趣,完全期望得到一记耳光告诉我去做自己的事情。

ni Donkey -it d

你不知道吗?它确实有效!因此,我很高兴为我的狡猾的朋友制作一切完全神秘的东西,我开始调查我还能缩写的其他内容。我是这样的。

Get-Help ni
Get-Help it

虽然第一个给了我命令,包括它的别名,正如预期的那样,第二个对我咆哮,告诉我没有这样的事情。好吧,我请原谅,但我刚刚执行了命令,所以我知道有。

经过一些“ 也有!没有。也有。没有。 ”我意识到我不会赢得PowerShell顽固的红色信息。所以,这是我的问题。

  1. 开始用别名?
  2. 我怎样才能得到帮助(是别名或别的什么)?

1
1.“it”是-ItemType参数名称的前2个字母。因此,如果只有一个以这些符号开头的参数,则可能不会键入整个名称。2. Get-Help New-Item
-Full

@ t1meless是正确的(并且应该将此作为答案发布)。“它”不是别名,它是编写参数的一种简短方法,只有在此cmdlet的其他参数没有共享相同前缀时才有效。您可以将此参数缩短为“i”,因为它是cmdlet以此字母开头的唯一参数。Get-Help it不会产生结果,因为Get-Help返回cmdlet的信息,而不是参数。更多信息,请访问:stackoverflow.com/questions/7262802 / ...
root

@ t1meless呵呵,我现在看到了。我被ItemType的大写愚弄了,错过了和前缀。好消息。此外,标志-full将是有用的。你一定要把它作为答案发布。
Konrad Viltersten 2016年

Answers:


2

在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

因为Type是别名ItemType

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

创建目录的最短方法是:

md Donkey

md是一个别名mkdir,反过来是一个使用的函数New-Item -ItemType Directory

如果您需要查看参数别名而不记住上面的long命令,请将以下内容放入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获取其参数别名


我看到了命令,但复杂的方式在我的情况下是有用的。我强烈地使用PowerShell,但只是偶尔使用PowerShell,所以我需要一些非常直观的东西,令人遗憾。尽管如此,+1给出了很好的答案。
Konrad Viltersten 2016年

@KonradViltersten对你的情况来说并不太复杂。只需将该功能存储在您的PowerShell配置文件howtogeek.com/50236/customizing-your-powershell-profile中,然后在PowerShell控制台中使用这样的功能Get-ParameterAlias -cmd New-Item
SimonS 2016年

@SimonS远远高于我目前的PowerShell-fu。我期待着让它得到控制。谢谢你的链接。它派上用场。:)
Konrad Viltersten 2016年

@KonradViltersten fyi:我提供的链接中有一个小错误。不要test-path $profile用来找到你的个人资料,因为在我的电脑上它false甚至很难恢复我的个人资料。只需使用,$profile无需test-path找到配置文件。
SimonS 2016年

@SimonS还没来得及抢劫,因为我的系统在最新的Win 10升级后死亡(我在这里哭泣,呵呵)。但我非常感谢你的敏捷。
Konrad Viltersten 2016年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.