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))
}}

Uwe

Uwe Ziegenhagen likes LaTeX and Python, sometimes even combined. Do you like my content and would like to thank me for it? Consider making a small donation to my local fablab, the Dingfabrik Köln. Details on how to donate can be found here Spenden für die Dingfabrik.

More Posts - Website