PowerShell中改变F1帮助文档命令获取方式为在线文档的方法(powershell script)居然可以这样

随心笔谈2年前发布 admin
207 0 0

文章摘要

这篇文章介绍了在PowerShell及其更高版本中帮助文档的管理和使用方法。从PowerShell 30开始,PowerShell本身没有预装帮助文档,用户可以通过`Update-Help`命令下载本地帮助文件。此外,用户还可以通过`-Online`参数在浏览器中直接查看帮助文档。文章还详细解释了如何在PowerShell Interactive Environment(ISE)中使用快捷键F1查看帮助文档,并展示了如何通过自定义函数来调整F1的行为,使其打开在线帮助文档。需要注意的是,如果直接使用递归函数(如`Get-Help`调用自身),会导致死循环,因此需要将PowerShell本身的帮助命令引入函数中。这种方法有效提升了用户体验,简化了帮助文档的查找流程。



适用于PowerShell或者更高版本

从PowerShell 30开始,Powershell本身并没有捆绑帮助文档。用户得使用命令 Update-Help来更新PowerShell的帮助文档,将它下载到本地受保护的PowerShell文件夹。之所以说是受保护,是因为常规用户不能执行更新命令。

下次,你想查看没有命令的帮助文档,可以简单地使用在线版本。-Online参数会在浏览器中打开Get-Process命令的在线帮助文档(该操作依赖网络)

复制代码 代码如下:

PS> help Get-Process -Online

一旦帮助文档已经安装,在PowerShell ISE 中查看帮助将变得非常容易:简单的点击命令,选中它,然后按F1快捷键。

如果你仔细看,你会发现F1内部不过只是调用了Help命令。所以,如果你想改变F1的行为,让它打开在线的帮助文档,你可能会临时写一个下面那样的函数:

复制代码 代码如下:

function Get-Help($Name)

{

 Get-Help $Name -Online

}

然后这样的代码将会是一个死循环。以内你的新函数Get-Help调用了它自己,它是一个没有出路,没完没了的递归。为了让你的函数真正工作起来,我们需要让函数内部的Get-Help来调用PowerShell本身的Get-Help命令。我们只需命令前面追加它本身的组件(Module)名称:

复制代码 代码如下:

function Get-Help($Name)

{

 Microsoft.PowerShell.Core\Get-Help $Name -Online

}

在你运行了上面的函数以后,在PowerShell ISE 中,选中某条命令,然后按F1,ISE也会帮你在浏览器中打开这条命令的帮助文档。

© 版权声明

相关文章