Powershell: Ersetzungen in Dateinamen durchführen

Hier ein kurzer Schnipsel, wie man Zeichen in Dateinamen ersetzen kann. Für die tatsächliche Umbenennung ist das „-whatif“ zu entfernen.

$files = gci -Recurse | ? {$_.PSisContainer -eq $false} |  ? {$_.name -match "~"}
 
foreach ($i in $files){
            rni -WhatIf $i.fullname $i.Name.Replace("~","_")
}