about_Escape_Characters

適用対象: Windows PowerShell 2.0, Windows PowerShell 3.0, Windows PowerShell 4.0

トピック

about_Escape_Characters

概要

Windows PowerShell® のエスケープ文字について紹介し、その効果について説明します。

詳細説明

エスケープ文字は、後続の文字に特別な解釈を割り当てるために使用されます。

Windows PowerShell では、エスケープ文字はバックティック (') で、アクサングラーブ (ASCII 96) とも呼ばれます。エスケープ文字は、リテラル、行連結、および特殊文字を示すために使用できます。

別のプログラムを呼び出す際には、エスケープ文字を使用して Windows PowerShell がプログラム引数を誤って解釈しないようにする代わりに、解析停止シンボル (--%) を使用できます。解析停止シンボルは、Windows PowerShell 3.0 で導入されました。

変数のエスケープ

変数の前にエスケープ文字を置くと、変数に値が代入されなくなります。

たとえば、次のように入力します。

        PS C:\>$a = 5
        PS C:\>"The value is stored in $a."
        The value is stored in 5.

        PS C:\>$a = 5
        PS C:\>"The value is stored in `$a."
        The value is stored in $a.

引用符のエスケープ

二重引用符の前にエスケープ文字を置くと、Windows PowerShell は二重引用符を文字列の区切り記号としてではなく文字として解釈します。

        PS C:\> "Use quotation marks (") to indicate a string."
        Unexpected token ')' in expression or statement.
        At line:1 char:25
        + "Use quotation marks (") <<<<  to indicate a string."

        PS C:\> "Use quotation marks (`") to indicate a string."
        Use quotation marks (") to indicate a string.

行連結の使用

エスケープ文字は、Windows PowerShell に対し、コマンドが次の行に続くことを伝えます。

たとえば、次のように入力します。

      PS C:\> Get-Process `
      >> PowerShell

      Handles  NPM(K)    PM(K)      WS(K) VM(M)   CPU(s)     Id ProcessName
      -------  ------    -----      ----- -----   ------     -- -----------
          340       8    34556      31864   149     0.98   2036 PowerShell
    

特殊文字の使用

引用符内で使用した場合、エスケープ文字はコマンド パーサーへの指示を提供する特殊文字を示します。

Windows PowerShell では、次の特殊文字が認識されます。

        `0    Null
        `a    Alert
        `b    Backspace
        `f    Form feed
        `n    New line
        `r    Carriage return
        `t    Horizontal tab
        `v    Vertical tab

たとえば、次のように入力します。

        PS C:\> "12345678123456781`nCol1`tColumn2`tCol3"
        12345678123456781
        Col1    Column2 Col3

詳細については、次のように入力してください。

Get-Help about_Special_Characters      

解析停止シンボル

他のプログラムを呼び出すときに、解析停止シンボル (--%) を使用して、Windows PowerShell がエラーを生成したり、プログラム引数を誤って解釈したりしないようにすることができます。解析停止シンボルは、プログラムの呼び出しでエスケープ文字の代わりに使用できます。これは、Windows PowerShell 3.0 で導入されました。

たとえば、次のコマンドは Icacls コマンドで停止解析シンボルを使用しています。

        icacls X:\VMS --% /grant Dom\HVAdmin:(CI)(OI)F

解析停止シンボルの詳細については、「about_Parsing」を参照してください。

関連項目

about_Quoting_Rules