置き換えたいフィールドを取得するために文字列を連結しているときにエラーが発生します。
以下は、私のスクリプトが行っていることの例です。
$TEXTTOREPLACEWITH= '6Q'
(Get-Content testfile.html) | ForEach-Object { $_ -replace '(.*)\$\(STRINGTOREPLACE\)(.*)', ('$1' +$TEXTTOREPLACEWITH+'$2')
次のように行入力のあるファイルに対してこれを実行した場合:
abc$(STRINGTOREPLACE)xyz
次の出力が期待されます。
abc6Qxyz
代わりに、このスクリプトを実行すると、出力は次のようになります。
$16Qxyz
これは、文字列の連結が完了するまで後方参照を解決してはならないという事実によるものだと思います。PowerShell でこれらの後方参照をすぐに解決して、表示されている出力を回避する方法はありますか?