Как избежать того, чтобы значение имени ключа не обновлялось при выполнении поиска и замены в powershell?
Я хочу избежать того, чтобы значение имени ключа не обновлялось при выполнении поиска и замены в powershell. Я могу найти и заменить путь к хранилищу файлов в конфигурационном файле. Но я не хочу заменять путь к папке для ключа в конфигурационном файле
Здесь я заменяю путь к папке на диск C: на сетевой путь. Но я не хочу заменять путь к папке на ключ
ChartImageHandler in config file. <pre><add key="ReconciliationFilePath" value="\C:PAYMENT_HUB\Filestore\FTS_FileStore\ISGREPORTS\" /> <add key="ChartImageHandler" value="storage=file;timeout=20;dir=\C:PAYMENT_HUB\Filestore\FTS_FileStore\TempImageFiles\;" />
Что я уже пробовал:
Путь конфигурации, как показано ниже:
<pre><add key="ReconciliationFilePath" value="\C:PAYMENT_HUB\Filestore\FTS_FileStore\ISGREPORTS\" /> <add key="ChartImageHandler" value="storage=file;timeout=20;dir=\C:PAYMENT_HUB\Filestore\FTS_FileStore\TempImageFiles\;" />
Сценарий выглядит следующим образом:
#UAEWPS Application if ($Line -notmatch '\#') $Application_Path="C:\PAYMENT_HUB\UAEFTS\Web.Config" $Application_Path foreach ($Line in $ConfigFile) { if ($Line -notmatch 'ChartImageHandler') { (Get-Content $Application_Path) | Foreach-Object {$_.replace("C:\", "\\10.40.0.137\")} | Set-Content $Application_Path } }
Tomas Takac
Если это XML-файлы, вы можете прочитать их как таковые и выполнять замену только в значениях, а не в ключах.
Sinisa Hajnal
Кроме того, вы уже знаете, какую строку вы заменяете, не делайте foreach, просто замените эту единственную строку