Mit Powershell und Regulären Ausdrücken Dateien umbenennen.
Ausgehend von Powershell und Reguläre Ausdrücke hier eine Erweiterung des Skripts dahingehend, dass der alte Pfad zerlegt wird und mit dem sauberen Dateinamen wieder zusammengebaut wird.
ls -recurse | % { if ($_.name -match "\d{8}_\d{8}.+") { $full = $_.fullname $split = $_.fullname.split("\") $last = $split[$split.length-1] $newpath = $split[0] foreach ($number in 1..($split.length-2) ) { $newpath += "\" + $split[$number] } $newpath += "\" + $last.substring(9,$last.length-9) } "mv"+ "`t" + $full + "`t" + $newpath } |
Geht sogar noch deutlich einfacher, wenn man einfach den Dateinamen im vollen Pfad sucht und durch die saubere Version ersetzt:
ls -recurse | % { if ($_.name -match "\d{8}_\d{8}.+") { rni $_.fullname $_.name.replace($_.name,$_.name.substring(9,$_.name.length-9)) }} |