Powershell, Dateien umbenennen

kaya33

Grünschnabel
Hallo zusammen

Ich möchte ca. 9000 Pdf-Dateien per PowerShell (wenn möglich CMD oder Batch-Datei geht auch) umbenennen. Die Dateien sind auf mehrere Unterverzeichnisse verteilt. Ich kenne mich mit Codierung leider nicht aus. Könnte jemand mir dabei helfen? Ich wäre über jede Hilfe sehr Dankbar!!

Betriebssystem: Windows 10 (PowerShell, CMD vorhanden)

Dateiname 1 alt: Abl_UR_JJJJ_Nrxx_xxxx-xxxx.pdf
Dateiname 1 neu: JJJJ_Ausgabe_Nrxx_Seiten_xxxx-xxxx.pdf (hier wird "Abl_Ur_" entfernt, nach "JJJJ_" "Ausgabe_" hinzugefügt, nach "Nrxx_ " "Seiten_" hinzugefügt)

Dateiname 2 alt: Abl_UR_JJJJ_Bxx_xxxx-xxxx.pdf
Dateiname 2 neu: JJJJ_Beilage__Nrxx_Seiten_xxxx-xxxx.pdf (hier wird "Abl_Ur_" entfernt, nach "JJJJ_" "Beilage__" hinzugefügt, "B" wir durch "Nr" ersetzt, nach "Nrxx_" "Seiten_" hinzugefügt)

Dateiname 3 alt: Abl_UR_JJJJ_Bxx_x_xxxx-xxxx.pdf
Dateiname 3 neu: JJJJ_Beilage__Nrxx_x_Seiten_xxxx-xxxx.pdf (hier wird "Abl_Ur_" entfernt, nach "JJJJ_ " "Beilage__" hinzugefügt, "B" wir durch "Nr" ersetzt, nach "Nrxx_x_" "Seiten_" hinzugefügt)

Dateiname 4 alt: Abl_UR_1849_Register_xxxx-xxxx.pdf
Dateiname 4 neu: JJJJ_Register_xxxx-xxxx.pdf (hier wird "Abl_Ur_" entfernt)

x`s und JJJJ dürfen nicht geändert werden.

Vielen dank und beste Grüsse
Kai
 
hier ein Powershell-Skrip mit dem du das machen kannst.

Bash:
ForEach ($file in Get-ChildItem  C:\temp\tool\Dateien\*.pdf -Recurse) #Verzeichnis inkl. Unterordner
{
$filename = $file.basename    #Dateiname
$fileex = $file.extension    #Dateiformat
$filepath = $file.directoryName #Dateipfad
$Subfolder = 'ready' #Unterordner für die fertigen Dateien
$year = $filename.Substring(7,4) #Jahr JJJJ
$NR = $filename.Substring(12,4) #Nrxx
$xxxx = $filename.Substring(17,9) #xxxx-xxxx
move-Item $file $filepath\$Subfolder\$year'_Ausgabe_'$NR'_Seiten_'$xxxx'.'$fileex
}
 
Zum Testen bei Move-Item das Argument -WhatIf hinzufügen. Dann siehst du erstmal, was es machen würde.
 
Zurück