如何在PowerShell中将帮助内容输入管道传递给Select-String?

9
我只是想在帮助文档中找到某个命令的特定部分。
help rd | select-string -pattern 'cmd'

但是我只得到了错误信息。出了什么问题?

2个回答

15

在ISE中,帮助函数会发出MamlCommandHelpInfo对象。在内部,帮助函数将Get-Help的输出导入到“more”实用程序中(启用控制台中的帮助分页)。在ISE中,“more”只是将其获取的任何内容简单地写入管道。

为了解决这个问题,请将输出转换为字符串。这在ISE和PowerShell控制台中都有效:

help rd | out-string -stream | select-string cmd

1
顺便说一句:在 ISE 中,“more” 是一个非常原始的过滤器:过滤更多 { $_ } - BartekB

4
help rd | Select-String -Pattern 'cmd'

Works for me. Alternatively, try this

help rd | ? {$_ -match 'cmd'}

但是 help rd | select-string -pattern "cmd" 没有显示任何内容。它不应该打印出找到的文本吗? - Tar

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接