有没有办法以编程方式加载 .ps1 脚本文件的文档,而不是像 get-help 这样的命令?换句话说,除了过滤 get-help 本身的字符串输出之外,是否可以通过编程访问在 .SYNOPSIS、.DESCRIPTION 等下定义的文本?
除其他事项外,我试图找出我的脚本库中文档覆盖率的差距。我还希望能够显示附有概要的某些脚本的列表。
最佳答案
是的,这些都是可以访问的。 Get-Help
返回(就像任何其他 cmdlet 一样)一个对象,并且该对象的默认呈现是您在控制台中看到的内容。
但是,如果您抽 get-help
的输出通过 format-list
, 像这样:
get-help get-childitem | format-list
您将获得属性的名称-值对列表。要获取概要,您可以执行以下操作:
get-help get-childitem |select-object -property synopsis
和输出:
Synopsis
--------
Gets the files and folders in a file system drive.
如果您的
.ps1
文件中没有定义 cmdlet(基于注释的帮助涵盖整个脚本),get-help file.ps1|select synopsis
应该管用。否则,您需要“点源”文件以将 cmdlet 定义加载到内存中,然后使用 get-help
如上。
关于PowerShell:以编程方式访问脚本文档,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21737227/