As you've discovered, "-replace" isn't a parameter accepted by the Get-Content cmdlet. A pair of parentheses will fix that. Now "-replace" will operate on the list returned by Get-Content.
Get-ChildItem -path "C:\MMC\*" |
ForEach-Object {
(Get-Content $_.FullName) -replace ("old-txt", "new-txt") |
Set-Content $_.FullName
}