PowerShell:以编程方式访问脚本文档

标签 powershell powershell-2.0

有没有办法以编程方式加载 .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/

相关文章:

string - 如何在Powershell中两次评估字符串

windows - 脚本在Visual Studio中工作,但从批处理文件运行时却不能

Powershell 断言管道返回的不是数组

powershell - 如何在PowerShell中读取ATOM XML

powershell - PowerShell 的 -Version 参数到底有什么作用?

PowerShell 函数从函数加载

powershell - 如何在Powershell脚本中一个接一个地运行多个脚本

powershell - 如何删除文件夹中除只读文件外的所有文件?

powershell - 如何使用powershell替换msha文件中的值?

mysql - 如何通过从数据库读取计算机名来检索登录用户?