PowerShell #requires和.SYNOPSIS玩得不好

时间:2012-11-19 19:35:39

标签: powershell powershell-v2.0

您可以将PowerShell脚本标记为requiring a particular version

#requires -version 2.0

您可以在PowerShell脚本中添加额外的帮助文本:

<#
.SYNOPSIS

Frobnicates the blargnozzle.
#>

不幸的是,它们看起来并不好看:

  • 如果您将#requires放在第1行,Get-Help Frob-Blargnozzle.ps1不显示概要,只显示参数摘要。
  • 如果您将#requires放在第一行以外的任何一行,即使在<# ... #>评论之后,也会被忽略。

建议?

3 个答案:

答案 0 :(得分:4)

尝试将#requires -version 2.0一行放在结束评论#>

<#
.SYNOPSIS

Frobnicates the blargnozzle.

#requires -version 2.0
#>

答案 1 :(得分:2)

首次检查时,Microsoft documentation有点令人困惑:

  

使用规则

     
      
  • #Requires语句必须是脚本中一行的第一项。
  •   
  • 脚本可以包含多个#Requires语句。
  •   
  • #Requires语句可以出现在脚本的任何行上。
  •   

这很容易被误解为你需要把#Requires放在第一行。事实上,它所说的是你可以在任何行上放置#Requires,但它必须是那些行上的唯一事物。

此外,您可以#Requires放在第一行,并且仍然有效.SYNOPSIS - 您只需要在其间包含一个空行:

#Requires -Version 3

<#
.SYNOPSIS
My script
#>

答案 2 :(得分:0)

将#Requires放在评论栏之外(&lt;#..#&gt;)。它可以在脚本的任何一行上,但我倾向于在任何其他块或代码之前将它们放在初始注释块之后。