HIRO's.NET

VB.NET, C#, PowerShell Tipsサイト

 VB.NET, C#, PowerShellを使用しているエンジニアのためのサイト。

 基本的な使用方法から開発で役立つTipsまで幅広く取り扱っています。

HIRO's.NET RSSHIRO's.NET RSS


PowerShellの開発でお困りのことはありませんか?
そんな悩みは当サイトで解決!!

HOME > PowerShell Tips > 文字列操作 Tips メニュー

01.単一引用符と二重引用符

 
UPDATE:2007/12/03    
 
<< 前のTips  次のTips >> 


 PowerShellで文字列を使用する場合は引用符で囲む必要があります。
 使用できる引用符は2種類あり、単一引用符(')、二重引用符(")があります。

 使用する引用符によって、囲まれた文字列の扱われ方が異なるので注意が必要です。

二重引用符の中で$記号で始まる変数が含まれていると、変数名が変数の値に置き換えられます。

sample1を見ると、二重引用符で囲まれた「$a」が、変数の値に置き換えられていることがわかります。

sample1

PS C:\Users\HIRO> $a = "test"
PS C:\Users\HIRO> Write-Host "$a"
test

sample1の二重引用符を単一引用符に置き換えてみたのが sample2 です。

sample2を見ると、単一引用符で囲まれた「$a」は、変数の値に置き換えられずに "$a" と表示されています。
このように単一引用符で囲まれた中にある変数は、変数の値に置き換は行われません。

sample2

PS C:\Users\HIRO> $a = "test"
PS C:\Users\HIRO> Write-Host '$a'
$a

二重引用符の中で$記号で始まる変数が含まれていても、変数名が変数の値に置き換えられないようにするにはアクサングラーブ文字 (`) を使用します。変数の直前にアクサングラーブ文字 (`)を使用すると、二重引用符の中でも変数が値に置き換えられることはありません。

sample3がその例です。

sample3

PS C:\Users\HIRO> $a = "test"
PS C:\Users\HIRO> Write-Host "`$a"
$a

単一引用符の中で二重引用符を使用することもできます。
この場合は、二重引用符を文字として出力することができます。(sample4参照)

sample4

PS C:\Users\HIRO> Write-Host 'Hello "HIRO"'
Hello "HIRO"

単一引用符や二重引用符を文字として扱うには、アクサングラーブ文字を使用します。

sample5

PS C:\Work> "HIRO`'s.NET"
HIRO's.NET

PS C:\Work> "`"HIRO`'s.NET`" is cool."
"HIRO's.NET" is cool.
 
<< 前のTips  次のTips >>