about_Escape_Characters
適用対象: Windows PowerShell 2.0, Windows PowerShell 3.0, Windows PowerShell 4.0, Windows PowerShell 5.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