PowerShell 中的多行注释

我们可以在 PowerShell 中一起注释多行吗?

我试着找,但是没有找到任何答案。如果脚本太长,手动注释每一行是非常恼人的。

74846 次浏览

在 PowerShell v2和更新的版本中,对多行注释使用以下语法:

<# a
b
c #>

PowerShell 中的多行注释应该可以工作。

如果没有,试试这个..。

# This is
# a
# multiline comment.

或者

<#
This does works for me.
#>

如果它不工作,尝试检查是否有正确的 PowerShell 版本。

我讨厌需要手动添加注释字符。所以这里有一个答案可以回答你的(也许)隐含的问题,“我怎样才能注释掉多行而不用手动添加注释字符?”我四处寻找一个热键解决方案,并在 https://community.idera.com/database-tools/powershell/powertips/b/tips/posts/toggling-comments-in-powershell-ise找到了一个我喜欢的。

它适用于一行或多行,甚至在行内。

function Toggle-Comment
{
$file = $psise.CurrentFile
$text = $file.Editor.SelectedText
if ($text.StartsWith("<#")) {
$comment = $text.Substring(2).TrimEnd("#>")
}
else
{
$comment = "<#" + $text + "#>"
}
$file.Editor.InsertText($comment)
}


$psise.CurrentPowerShellTab.AddOnsMenu.Submenus.Add('Toggle Comment', { Toggle-Comment }, 'CTRL+K')

$Profile 在每次打开 ISE 时运行,因此该函数始终可用。该函数创建一个新的菜单项,快捷键为 Ctrl-K,用于注释或取消注释选定的行。

如果 $Profile 文件还没有创建(通常还没有) ,您可以这样创建它:

New-Item -Path $profile -ItemType "file" -Force

(命令来源: https://learn.microsoft.com/en-us/powershell/module/microsoft.powershell.management/new-item?view=powershell-7.2)