Для тех, кто не знаком с этим различием, важно не путать символ backtick (`) с одинарной кавычкой символ ( ') в этих побегах. Например:
[УСПЕХ] Двойные кавычки как контейнер с обратной косой чертой в качестве escape:
PS C:\Temp> 'What is $old?' | ForEach-Object {$_ -replace "\`$old", "(New)"}
What is (New)?
PS C:\Temp>
[FAIL] Двойные кавычки в качестве контейнера с обратным слешем-апострофом в качестве escape:
PS C:\Temp> 'What is $old?' | ForEach-Object {$_ -replace "\'$old", "(New)"}
What is $old?
PS C:\Temp>
[УСПЕХ] Одиночные кавычки в виде контейнера с простой обратной косой чертой в качестве escape:
PS C:\Temp> 'What is $old?' | ForEach-Object {$_ -replace '\$old', "(New)"}
What is (New)?
PS C:\Temp>
[FAIL] Одинарные кавычки в виде контейнера с обратной косой чертой в качестве escape:
PS C:\Temp> 'What is $old?' | ForEach-Object {$_ -replace '\`$old', "(New)"}
What is $old?
PS C:\Temp>
В целом, самым простым вариантом может быть использование одинарных кавычек в качестве контейнера и одиночной обратной косой черты в качестве escape: '\$old'