You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在PowerShell脚本中配置帮助与使用说明?

在PowerShell中实现--help查看所有参数的核心方法

你的脚本已经通过[CmdletBinding()]启用了高级功能,自带-Debug、-Verbose等通用参数,同时支持PowerShell原生的-?或Get-Help .\foo.ps1查看帮助。要实现类Unix风格的--help触发帮助,核心思路是自定义--help参数并绑定到内置帮助输出逻辑,具体有两种简洁实现方式:

方法1:给原生帮助参数加别名(推荐)

直接在param块中新增带--help别名的开关参数,触发时调用内置帮助输出:

<# test foo.ps1 #>
[CmdletBinding()]
param(
  [Switch]$foo,
  [Switch]$bar,
  [Alias('--help')]
  [Switch]$Help
)

# 若传入-Help或--help,输出完整帮助后退出
if ($Help) {
    Get-Help $MyInvocation.MyCommand.Path -Full
    exit
}

执行.\foo.ps1 --help时,会自动输出包含所有自定义参数和通用参数的完整帮助信息,且符合PowerShell参数规范,支持自动补全。

方法2:直接检测输入参数

如果不想新增参数,可通过检测传入的参数列表识别--help:

<# test foo.ps1 #>
[CmdletBinding()]
param(
  [Switch]$foo,
  [Switch]$bar
)

# 检测是否传入--help参数
if ($args -contains '--help') {
    Get-Help $MyInvocation.MyCommand.Path -Full
    exit
}

核心原理说明

通过Get-Help $MyInvocation.MyCommand.Path -Full可以完整调用PowerShell的内置帮助系统,输出脚本的所有参数(包括[CmdletBinding()]带来的通用参数),再通过自定义逻辑将--help映射到该调用即可实现需求。

内容的提问来源于stack exchange,提问作者Chris

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.13 22:32:38