PowerShellでコードをコメント化するにはどうすればよいですか?


938

PowerShell(1.0または2.0)でコードをコメント化するにはどうすればよいですか?


24
「#」は多くのシェルおよびスクリプト言語のコメントであることに注意してください:bash、python、php、ruby、そして今やpowershell。
yzorg 2013年

61
これはまさに私がそれを想定する理由#のWindowsやMicrosoftベースのスクリプト言語でのコメントではありません。
ルネNyffenegger

2
それは、明らかに、他のすべてのテクノロジーとは異なり、MSがpowershellに適切なリファレンスを提供しなかったためです。どこにも見つかりませんでした。
dudeNumber4

5
@ dudeNumber4 PowerShellには、あらゆる言語の中で最も包括的なリファレンスの1つがあります。言語に追加される機能のために、それがなければならない包括含むhelp等例、方法及びメンバーリストでドキュメントを
TylerH

回答:


1250

PowerShell V1 #では、コメントの後のテキストを作成するだけです。

# This is a comment in Powershell

PowerShell V2では<# #>、ブロックコメント、より具体的にはヘルプコメントに使用できます。

#REQUIRES -Version 2.0

<#
.SYNOPSIS
    A brief description of the function or script. This keyword can be used
    only once in each topic.
.DESCRIPTION
    A detailed description of the function or script. This keyword can be
    used only once in each topic.
.NOTES
    File Name      : xxxx.ps1
    Author         : J.P. Blanc (jean-paul_blanc@silogix-fr.com)
    Prerequisite   : PowerShell V2 over Vista and upper.
    Copyright 2011 - Jean Paul Blanc/Silogix
.LINK
    Script posted over:
    http://silogix.fr
.EXAMPLE
    Example 1
.EXAMPLE
    Example 2
#>
Function blabla
{}

詳細説明については.SYNOPSIS.*about_Comment_Based_Helpを

注釈:これらの関数コメントはGet-HelpCmdLet によって使用され、キーワードの前Function、または{}コード自体の前後の内部に置くことができます。


45
<##>ブロックのコメントを知りませんでした。nice
デニスG

3
PowerShell v3の文法は、microsoft.com / en-us / download / details.aspx?id=36389にあります。セクションを見てくださいB.1.2 Comments
james.garriss 2015年

私はSend-MailMessage関数を使用しており、バッククォートを使用して各パラメーターを新しい行に配置し、そのうちの1つ(-Bcc)をコメント化し、次の行でエラーを発生させました(-Body: '-Body'コマンドレットの名前として認識されない...)そのため、関数の呼び出し中に行をコメント化することはサポートされていないようです。たぶんそれは行の継続かもしれません、多分それは何か他のものかもしれません、どちらにしても私がそれを機能させることを私が期待する方法ではありません
ダボス

そのようなコメントは実際にはインラインになります。コマンドは次のように解析されます:Send-MailMessage -To bob@bob.com#これはコメントです-Subject "Help Me!" など
CitizenRon

開始直後{(関数)に関数コメントを配置する方が信頼できることがわかりました。特に、スクリプトモジュール関数を使用して外部で機能させるのに苦労しました。
jpmc26



36

1行コメントはハッシュ記号で始まり、の右側のすべて#は無視されます。

# Comment Here

PowerShell 2.0以降では、複数行のブロックコメントを使用できます。

<# 
  Multi 
  Line 
#> 

ブロックコメントを使用して、コマンド内にコメントテキストを埋め込むことができます。

Get-Content -Path <# configuration file #> C:\config.ini

注: PowerShellはタブ補完をサポートしているため、Space + TABコメントの前にコピーして貼り付ける場合は注意が必要です。


3
+1は、1行内で使用するブロックコメントスタイルを示します。ここに来て、すべて1行で宣言された配列の個々の要素を一時的にコメント化する方法を探しました。
クリスオールドウッド

17

ここに

# Single line comment in Powershell

<# 
--------------------------------------
Multi-line comment in PowerShell V2+ 
-------------------------------------- 
#>

11
これは既存の回答に何を追加しますか?
TZHX 2015

5
シンプル
Vic

1
多くの回答は、英語が常に第一言語であるとは限らないことを忘れており、実際に回答に到達する前に、プリアンブルが非常に冗長で複雑になっています。この答えは完璧であり、私たちが探している例に直接アクセスできます。
Geoff Griswald

15

PowerShell ISE内で、Ctrl+ Jを押して[スニッピング開始 ]メニューを開き、[ コメントブロック ]を選択できます。

ここに画像の説明を入力してください


これにより、新しいブロックコメントが挿入されます。既存の行はコメント化されません。
TylerH

3

あなたは作ることができます:

 (Some basic code) # Use "#" after a line and use:

 <#
    for more lines
    ...
    ...
    ...
    ..
    .
 #>
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.