help format-list
输出格式列表的帮助。
format-list | help
输出帮助(get-help)。
help format-list
输出格式列表的帮助。
format-list | help
输出帮助(get-help)。
该| 或“管道”运算符将一个操作的输出重定向到另一个。因此,在这种情况下,您正在调用格式列表,然后将其输出重定向为帮助参数。help 不知道如何处理该参数,因此它进入默认行为(help for 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
,它会将其绑定为输入参数。所以,当你这样做时:
format-list | help
运行 format-list 命令(并且没有返回任何内容),因此帮助函数认为它没有收到任何参数。
当你这样做时:
"format-list" | help
您正在传递一个字符串参数。字符串类型没有Name
属性,因此您会收到一条错误消息,指出它无法绑定参数。但是,如果您尝试:
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
。