Mehrere Dateinamen automatisiert umbenennen
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
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
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 512241
Url: https://administrator.de/contentid/512241
Ausgedruckt am: 25.11.2024 um 14:11 Uhr
6 Kommentare
Neuester Kommentar
$ordner = 'D:\Blablub'
Get-ChildItem $ordner -Filter *.pdf -File -Recurse -PipelineVariable file | ?{$_.Basename -match '^Abl_UR_(\d{4})_([^\d]+)(\d*)_(\d+_)?(.*)$'} | %{
switch($matches[2]){
'Nr' {$newname = $matches[1] + "_" + $matches[2] + $matches[3] + "_Seiten_" + $matches[5] + $file.Extension}
'B' {
if ($matches[4] -ne ''){
$newname = $matches[1] + "_Beilage__Nr" + $matches[3] + "_" + $matches[4] + "Seiten_" + $matches[5] + $file.Extension
}else{
$newname = $matches[1] + "_Beilage__Nr" + $matches[3] + "_Seiten_" + $matches[5] + $file.Extension
}
}
'Register' {$newname = $matches[1] + "_" + $matches[2] + "_" + $matches[5] + $file.Extension}
}
rename-item $_.FullName -NewName $newname -Force -verbose
}
Ich kenne mich mit Codierung leider nicht aus.
Was meinst du mit "Codierung" ?? Die hat damit ja erst mal gar nichts zu tun ist ja erst mal nur eine reine Umbenennung, ich denke du meinst sicher "Coding" ...Zitat von @kaya33:
Nach Jahreszahl sollte noch "Ausgabe_" hinzugefügt werden. Wäre es noch möglich dies anzupassen?
Nach Jahreszahl sollte noch "Ausgabe_" hinzugefügt werden. Wäre es noch möglich dies anzupassen?
$ordner = 'D:\Blablub'
Get-ChildItem $ordner -Filter *.pdf -File -Recurse -PipelineVariable file | ?{$_.Basename -match '^Abl_UR_(\d{4})_([^\d]+)(\d*)_(\d+_)?(.*)$'} | %{
switch($matches[2]){
'Nr' {$newname = $matches[1] + "_Ausgabe_" + $matches[2] + $matches[3] + "_Seiten_" + $matches[5] + $file.Extension}
'B' {
if ($matches[4] -ne ''){
$newname = $matches[1] + "_Beilage__Nr" + $matches[3] + "_" + $matches[4] + "Seiten_" + $matches[5] + $file.Extension
}else{
$newname = $matches[1] + "_Beilage__Nr" + $matches[3] + "_Seiten_" + $matches[5] + $file.Extension
}
}
'Register' {$newname = $matches[1] + "_" + $matches[2] + "_" + $matches[5] + $file.Extension}
}
rename-item $_.FullName -NewName $newname -Force -verbose
}