PS C:\doc\test> $STR1="My name is $[NAME]"
PS C:\doc\test> $STR2=$STR1 -replace "`$[NAME]","TOM"
PS C:\doc\test> $STR2
My name is $[NAME]
PS C:\doc\test> $STR2=$STR1 -replace "`$[NAME]","TOM"
PS C:\doc\test> $STR2
My name is $[NAME]
POWRSHELLのエスケープ符号(`)は効かない.か。。
いろいろ検索してみると、[regex]::Escape メッソドを使う方法を見つかった
PS C:\doc\test> $STR2=$STR1 -replace [regex]::Escape("$[NAME]"),"TOM"
PS C:\doc\test> $STR2
My name is TOM
で[regex]::Escapeメッソドは何をしたのかを見てみると、
PS C:\doc\test> [regex]::Escape("$[NAME]")
\$\[NAME]
\$\[NAME]