我正在尝试替换文本文件上的一部分。
首先我搜索它是否存在于文本文件中
$check = Get-Content sample.txt | Where-Object {$_.Contains('<add key="IIS_VERSION" value="7" />')}
if ($checkIISv)
{
Write-Host "IIS's version is already 7"
}
else
{
Write-Host "Update IIS version to 7"
# I want to place here a code that will replace the value="7" if it is not =7
# This value is usually not 7
}
请帮忙,我认为这里不能使用替换功能,因为“值”被认为是未知的。
你可以使用-replace
使用正则表达式模式来替换该值。但是,这是一个 web/app xml 配置,因此您应该将其修改为 XML 文档。前任。
#$xml = [xml](Get-Content "c:\folder\app.config")
$xml = [xml]@"
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<appSettings>
<add key="IIS_VERSION" value="8" />
<add key="somekey" value="somevalue" />
</appSettings>
</configuration>
"@
$IISVersion = $xml.SelectSingleNode("//add[@key='IIS_VERSION']")
if ($IISVersion.Value -eq 7)
{
Write-Host "IIS's version is already 7"
}
else
{
Write-Host "Update IIS version to 7"
$IISVersion.Value = "7"
}
$xml.Save("c:\folder\app.config")
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)