У меня есть файл конфигурации, в котором есть несколько заполнителей, которые я хочу заменить другими значениями с помощью PowerShell, но приведенный ниже код не может заменить %WebClientPath%\www
значением, содержащимся в переменной $WebClientPath
. В нем есть этот путь " C: \ IWeb \ Demo \ Main \ UIPresentation \ WebApp "
где %VirtualApplicationName%
заменяется IMWeb
Я попытался удалить \ www из %WebClientPath%
, и это сработало, но я хочу, чтобы \ www также был заменен. Я думаю, что это происходит из-за обратной косой черты (\)
[CmdletBinding()]
Param
(
[string]$PathofWebConfigFile="C:\Automate\Web.config" ,
[string]$VirtualApplicationName="IMWeb"
)
# Code to get WebClient Path from PhysicalPath attribute.
$WebClientPath=(get-webapplication IMWeb).PhysicalPath
(Get-Content -Path "$PathofWebConfigFile") | ForEach-Object {$_ -Replace "%VirtualApplicationName%","$VirtualApplicationName"} | Set-Content -Path "$PathofWebConfigFile"
(Get-Content -Path "$PathofWebConfigFile") | ForEach-Object {$_ -Replace "%WebClientPath%\www","$WebClientPath"} | Set-Content -Path "$PathofWebConfigFile"