PowerShell での文字列補間

Marion Paul Kenneth Mendoza 2023年1月30日
  1. PowerShell の変数とは何ですか
  2. Windows PowerShell での文字列補間
  3. PowerShell の環境変数による文字列補間
  4. PowerShell のエスケープ文字を使用した文字列補間
  5. PowerShell で特殊文字を含む変数を使用した文字列補間
  6. PowerShell で部分式演算子による文字列補間
PowerShell での文字列補間

Windows PowerShell の文字列補間は、変数の値を文字列のプレースホルダーに置き換えます。また、文字列補間のプロセスでは、文字列内の変数の値が表示されます。

Windows PowerShell 文字列補間は、フォーマットされた文字列を作成するための、より読みやすく、読みやすく、便利な構文を提供します。この記事では、Windows PowerShell での文字列補間中に変数を使用する方法について説明します。

PowerShell の変数とは何ですか

Windows PowerShell 文字列の補間について説明する前に、これを実現するための重要な要件の 1つである Windows PowerShell 変数について説明する必要があります。

Microsoft の公式ドキュメントに記載されているように、変数は多くのデータ型の値が格納されるメモリの単位です。Windows PowerShell では、変数はドル記号 $ で始まる文字列で表されます。

$my_var = "Hello World!"

これらの変数を使用して、Windows PowerShell で文字列補間を実行します。

Windows PowerShell での文字列補間

Windows PowerShell で文字列補間を使用して文字列を接続する例を使用して理解しましょう。

サンプルコード:

$company = "XYZ Company"
Write-Output "Welcome to $company"

上記の PowerShell スクリプトでは、$company 変数に XYZ Company 文字列値が含まれています。

二重引用符""内で、Windows PowerShell は文字列変数名を補間し、次のステートメントで以下の結果を表示します。

出力:

Welcome to XYZ Company

変数名を一重引用符''で囲むと、以下に示すように、代わりに変数名が表示されます。

サンプルコード:

$company = "XYZ Company"
Write-Output 'Welcome to $company'

出力:

Welcome to $company

この出力は、単一引用符で囲まれたものはすべて、内部のすべてをリテラル式として扱うために発生します。したがって、文字列を補間するときは、二重引用符を使用していることを確認してください。

PowerShell の環境変数による文字列補間

Windows PowerShell の Env:変数で表される環境変数は、オペレーティングシステムの環境とプログラムを格納します。この情報の詳細には、オペレーティングシステムのパス、Windows インストールディレクトリの場所、オペレーティングシステムによって使用されるプロセスの数などが含まれます。

Windows PowerShell では、環境変数は、他の標準変数と同様に文字列内で補間できます。

サンプルコード:

Write-Output "My computer name: $Env:COMPUTERNAME"

上記の PowerShell スクリプトでは、$Env: COMPUTERNAME は変数値を二重引用符で囲み、文字列と連結します。

出力:

My computer name: WINDOWS-PC01

PowerShell のエスケープ文字を使用した文字列補間

文字列補間中に二重引用符を使用する必要があるとの議論にもかかわらず、変数を二重引用符の中に入れると期待どおりの結果が得られない場合があります。この一例はエスケープ文字です。

エスケープ文字は、文字シーケンス内の次の文字の代替解釈を呼び出す一種の文字です。エスケープ文字は、プログラムでコンパイルするときに特定の記号が使用されるため、プログラミング言語では一般的です。

たとえば、Windows PowerShell では、ドル記号 $ は変数の定義に使用される最も一般的な演算子の 1つです。以下の例としてドル記号を使用します。

サンプルコード:

$price = 99
Write-Output "Discounted Price: $$price"

上記の Windows PowerShell スクリプトでは、二重引用符内の $price は、スクリプト環境が二重ドル記号 $$ を異なる方法で解釈するため、期待される出力を提供しません。

出力:

Discounted Price: Discounted Price: $$priceprice

以下の文字列補間に Windows PowerShell エスケープ文字を使用して、目的の出力を取得します。

サンプルコード:

$price = 99
Write-Output "Discounted Price: `$$price"

出力:

Discounted Price: $99

PowerShell で特殊文字を含む変数を使用した文字列補間

前述のように、ドル記号 $ で始まる変数名には、英数字と特殊文字を含めることができます。

変数を定義するベストプラクティスは、英数字とアンダースコア _ 文字のみを含めることです。スペースを含む他の特殊文字を含む変数名は使用が難しいため、使用しないでください。

ただし、特殊文字を含む変数を使用できないと言っているわけではありません。状況がこれを回避できない場合は、ドル記号と中括弧 ${} を使用して、変数名のスペースを含むすべての特殊文字をエスケープできます。

サンプルコード:

${this is a variable!} = "Hello"
Write-Output "${this is a variable!} World!"

出力:

Hello World!

PowerShell で部分式演算子による文字列補間

Windows PowerShell では、部分式演算子 $() を使用して、文字列補間などの式内で式を実行できます。これを行うには、実行する式をドル記号と括弧 () で囲みます。

サンプルコード:

$num1 = 10
$num2 = 5

Write-Output "$num1 + $num2 = $($num1+$num2)"

出力:

10 + 5 = 15
Marion Paul Kenneth Mendoza avatar Marion Paul Kenneth Mendoza avatar

Marion specializes in anything Microsoft-related and always tries to work and apply code in an IT infrastructure.

LinkedIn

関連記事 - PowerShell String