0
У меня есть сценарий PowerShell для замены записей веб-конфигурации DEV значениями QA.Escape double quotes in -replace
До сих пор хорошо, но теперь у меня есть некоторые значения в двойные кавычки:
(Get-Content $targetFile) |
Foreach-Object {
$_ -replace "<add key="Path" value="/DEV/Reports" />", "<add key="WebReportsPath" value="/QA/Reports" />" `
-replace "<add key="EmpReport" value="/DEV/Emp/Reports" />", "<add key="EmpReport" value="/QA/Emp/Reports" />" `
-replace "olddatabase", "newdatabase"
} |
Set-Content $targetFile
Я получаю ошибку синтаксического анализа, когда я бегу. Если изменить двойные кавычки в одинарные кавычки, как
`-replace 'valwithdoublequote' 'valwithdoublequote' still I get parser error. How to escape this?
Великого. Благодарю. Но у меня есть цикл for, поскольку у нас есть QA1 - QA 4. Возможно ли заменить счет? '-replace [regex] :: Escape (' '), ' ''. Я получаю плохой аргумент замены –
Billa
, поскольку вы используете одинарные кавычки, вы также должны использовать строку формата, такую как 'replace [regex] :: Escape (' '), (' ' -f $ i) ' –