Powershell替换存储在多个文件夹中的多个文件中的文本

2024-03-20

我想替换多个文件和文件夹中的文本。文件夹名称发生变化,但文件名始终为 config.xml。

$fileName = Get-ChildItem "C:\config\app*\config.xml" -Recurse
(Get-Content $fileName) -replace 'this', 'that' | Set-Content $fileName

当我运行上面的脚本时,它可以工作,但它会在 config.xml 中写入整个文本大约 20 次。怎么了?


$filename 是一个集合System.IO.FileInfo objects。 您必须循环才能获取每个文件的内容: 这应该做你想做的:

$filename | %{
    (gc $_) -replace "THIS","THAT" |Set-Content $_.fullname
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Powershell替换存储在多个文件夹中的多个文件中的文本 的相关文章

随机推荐