I want to replace a text in multiple files and folders. The folder name changes, but the filename is always config.xml.

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

```

When I run the above script it works, but it writes the whole text in config.xml about 20 times. What's wrong?