任务是使用power-shell脚本更新web.config和app.config中的应用程序设置。经过一些搜索后,我发现了一些脚本来更新单个文件而不是多个文件。有人可以帮忙吗?
$Config = C:\inetpub\wwwroot\TestService\Web.config
$doc = (Get-Content $Config) -as [Xml]
$obj = $doc.configuration.appSettings.add | where {$_.Key -eq 'SCVMMServerName'}
$obj.value = CPVMM02
$doc.Save($Config)
答案 0 :(得分:0)
我可以给你一个合乎逻辑的衬托。您可以使用 select-string 中的 -match 获取要更新的那一行,然后类似地,您可以使用选择文件中已有的剩余内容-notmatch 即可。 把它们放在变量中。更新该行,将其存储回变量中。
然后使用 set-content
将两者(修改后的行变量和未修改的剩余值)设置回文件希望你得到一个关于如何处理的启示
答案 1 :(得分:0)
有很多方法可以做到这一点,例如:
"C:\inetpub\wwwroot\TestService\Web.config",
"C:\inetpub\wwwroot\TestService\App.config" |
ForEach-Object {
$doc = (Get-Content $_) -as [Xml]
$obj = $doc.configuration.appSettings.add |
Where-Object { $_.Key -eq 'SCVMMServerName' }
$obj.value = CPVMM02
$doc.Save($_)
}