help format-list输出格式列表的帮助。
format-list | help输出帮助信息(获取帮助)。

最佳答案

帮助实际上是重定向到的功能:

Get-Help command | more

如果查看此函数的定义,您将看到它接受带有ValueFromPipelineByPropertyName标签和Name参数的位置参数。
PS ~\> Get-Content function:help

<#
.FORWARDHELPTARGETNAME Get-Help
.FORWARDHELPCATEGORY Cmdlet
#>
[CmdletBinding(DefaultParameterSetName='AllUsersView')]
param(
    [Parameter(Position=0, ValueFromPipelineByPropertyName=$true)]
    [System.String]
    ${Name},

    # Other arguments deleted for brevity

    [Switch]
    ${Online})
$outputEncoding=[System.Console]::OutputEncoding

      Get-Help @PSBoundParameters | more

这基本上意味着,如果看到带有名为Name的属性的参数,则将其绑定(bind)为输入参数。因此,当您这样做时:
format-list | help

format-list命令已运行(且未返回任何内容),因此帮助功能认为它未接收任何参数。

当您这样做时:
"format-list" | help

您正在传递字符串参数。字符串类型没有Name属性,因此您将收到一条错误消息,提示它无法绑定(bind)参数。但是,如果您尝试:
PS ~\> get-command format-list

CommandType     Name                Definition
-----------     ----                ----------
Cmdlet          Format-List         Format-List [[-Property] <Object[]>] [-GroupBy <...

您可以看到命令format-list确实具有Name属性,因此如果您尝试
get-command format-list | help

您可以获得format-list的帮助。

关于shell - 为什么 `help format-list`与 `format-list | help`不同?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/10626590/

10-15 20:03