分かりやすく、使いやすく。

ヒアドキュメントを使って複数行を 1 つの文字列にする

スポンサーリンク

PowerShell では、ヒアドキュメントを使用して複数行の文字列を扱うことができます。ヒアドキュメントは変数を展開するやり方と、展開しないやり方があります。

  1. 変数を展開する場合の書式
  2. 変数を展開しない場合の書式
  3. 変数を展開する場合のサンプルコード
  4. 変数を展開しない場合のサンプルコード


変数を展開する場合の書式

PowerShell(書式)
1
2
3
4
5
6
$str = @"
ヒアドキュメントでは複数行のテキストを
1つの文字列として扱います。
ダブルクオテーションを使用した場合、
ヒアドキュメント内の変数は展開されます。
"@ 

変数を展開しない場合の書式

PowerShell(書式)
1
2
3
4
5
6
$str = @'
ヒアドキュメントでは複数行のテキストを
1つの文字列として扱います。
シングルクオテーションを使用した場合、
ヒアドキュメント内の変数は展開されません。
'@ 

変数を展開する場合のサンプルコード

PowerShell(実行可能なサンプルコード)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
# 展開されるか確認するための変数
$str = "PowerShell"
 
# ヒアドキュメント(変数を展開する)
$str_here_document = @"
ここは文字列です。
ダブルクオテーションの場合、変数は展開します。
例えばこれ→$str
シングルクオテーションの場合は変数は展開しません。
"@
 
# 標準出力に表示
Write-Host $str_here_document
 

上記のコードの実行結果は次の通りです。

ここは文字列です。
ダブルクオテーションの場合、変数は展開します。
例えばこれ→PowerShell
シングルクオテーションの場合は変数は展開しません。 

変数を展開しない場合のサンプルコード

PowerShell(実行可能なサンプルコード)
1
2
3
4
5
6
7
8
9
10
11
12
13
# 展開されるか確認するための変数
$str = "PowerShell"
 
# ヒアドキュメント(変数を展開しない)
$str_here_document = @'
ここは文字列です。
シングルクオテーションの場合、変数は展開しません。
例えばこれ→$str
ダブルクオテーションの場合は変数を展開します。
'@
 
# 標準出力に表示
Write-Host $str_here_document 

上記のコードの実行結果は次の通りです。

ここは文字列です。
シングルクオテーションの場合、変数は展開しません。
例えばこれ→$str
ダブルクオテーションの場合は変数を展開します。 
スポンサーリンク