【バッククオテーション】PowerShell で特殊文字をエスケープする

スポンサーリンク

PowerShell では バッククオテーション (`) を特殊文字の前に置くことで、その特殊文字を無効化して普通の文字として扱うことができます。

バッククオテーション (`)は シングルクオテーション(’)とは異なる文字です。バッククオテーションは下記の方法で入力できます。

  • 日本語配列キーボード:Shift + @ ※キーボードの右側
  • 英語配列キーボード: ` ※キーボード左上

それでは試してみましょう。$test という変数に This is a pen という文字列を代入してみます。次に$test を実行し、変数の中身を確認してみてください。

#変数への代入
> $test = "This is a pen"

#変数の確認
> $test
This is a pen

今度は This is a “pen” という文字列を変数に入れてみましょう。

> $test = "This is a "pen""
発生場所 行:1 文字:21
+ $test = "This is a "pen""
+                     ~~~~~
式またはステートメントのトークン 'pen""' を使用できません。
    + CategoryInfo          : ParserError: (:) [], ParentContainsErrorRecordException
    + FullyQualifiedErrorId : UnexpectedToken

エラーになってしまいます。これはダブルクオーテーション(”)が特殊文字だからです。特殊文字の前にエスケープ文字であるバッククオテーション (`) を置くことで、 ダブルクオーテーション(”) をただの文字として扱えるようになります。

試してみましょう。簡単ですね。

#変数への代入
> $test = "This is a `"pen`""

#変数の確認
> $test
This is a "pen"

PowerShell に関しては下記の本をお勧めしておきます。プログラミング初心者向けに丁寧に解説されています。2015年に出版された本ですが、PowerShell の基本的なコマンドはかわらないので何の問題もありません。

コメント