it-artikel:mit-windows-powershell-massenhaft-dateinamen-bereinigen-oder-saeubern-und-umbenennen

Mit Windows Powershell massenhaft Dateinamen bereinigen oder säubern und umbenennen

Das kennt man doch. Man bekommt einen riessen Haufen Dateien auf den Tisch geklatscht , alle mehr oder weniger vom selben Typ aber deren Dateinamen sind Kraut und Rüben. Womöglich vollgestopf mit lauter Zusatzinformationen und Sonderzeichen die man nicht im Dateinamen haben will. Jetzt kann man das natürlich alles File für File mit der Hand säubern, oder aber man verwendet ein mini Script dafür und muss nur noch die unterwünschten Schlüsselworte bzw Ersetzungen eintragen.

Dieses Beispiel ist sicher nicht die ultimative Lösung, aber mir hat es schon sehr geholfen!

Vorgehensweise zur Anwendung:

  1. Windows Powershell offnen. Entweder über das Startmenü oder über die Kommandozeile “cmd” durch Eingabe von “powershell”
  2. Ins richtige Verzeichnis hinein wechseln wo die Dateien liegen. Das tolle bei Powershell: Es darf sich dabei auch um einen UNC Pfad handeln.
    cd \\AD\yourShare\subdir1\
  3. Die folgende Powershell Zeile ersetzt z.b. alle Punkte und Unterstriche im Dateinamen gegen Leerzeichen und löscht dazu noch einige unterwünschte Schlüsselworte komplett heraus:
    dir | Rename-Item -NewName { $_.BaseName.replace("."," ").replace("_"," ").replace("schlüsselwort1","").replace("schlüsselwort2","") + $_.Extension  }


    Alternativ kann auch eine andere Methode genutzt werden welche Reguläre Ausdrücke (RegEx) unterstützt. Allerdings muss dann zur Trennung der einzelnen Komponenten Klammern eingesetzt werden () um die Programmausführung zu Grupieren. Wie hier gezeigt:

    dir | Rename-Item -Verbose -NewName { ( $_.BaseName -replace "\."," " -replace "_"," " -replace "(nastyKeyWord1|nastyKeyWord2|nastyKeyWord3)" -replace "\s{2,}"," " -replace "\s+$" ) + $_.Extension }

Axel Werner 2015-07-24 13:43

it-artikel/mit-windows-powershell-massenhaft-dateinamen-bereinigen-oder-saeubern-und-umbenennen.txt · Last modified: 2015-07-24 13:48 by mail@awerner.myhome-server.de