maja7983
Goto Top

Viele Dateien in (fast) gleichnamige Ordner verschieben

Liebe Experten,

ich sitze gerade beruflich vor einem Ordner mit mehreren hunderttausend pdf-Dateien, welche in entsprechende Ordner sortiert werden müssen. Diese Ordner sollen entsprechend den Dateinamen erstellt werden.
Die Dateien in den Ordnern sehen folgendermaßen aus:

fi14-II-0601-0001
fi14-II-0601-0002
fi14-II-0601-0003
fi14-II-0601-0004
fi14-II-0602-0001
fi14-II-0602-0002
fi14-II-0602-0003
fi14-II-0602-0004
usw.

Diese Dateien müssen nun in Ordner sortiert werde die so aussehen sollen:

fi14-II-0601-PDF
fi14-II-0602-PDF
usw.

Ich kenne mich leider überhaupt nich aus mit dem Schreiben solcher Batch-Befehle. Wenn mir jemand helfen könnte, wäre das großartig.
Das würde mir viele Wochen Arbeit ersparen.

Viele Grüße
Marcel

Content-Key: 1261853816

Url: https://administrator.de/contentid/1261853816

Printed on: April 23, 2024 at 16:04 o'clock

Member: beidermachtvongreyscull
beidermachtvongreyscull Sep 15, 2021 updated at 11:53:18 (UTC)
Goto Top
Mitglied: 148656
148656 Sep 15, 2021 at 11:55:19 (UTC)
Goto Top
Man konnte auch auf die Suche verweisen.
Oder auf das Profil von @colinardo .
So bleibt der "Click" bei administrator.de.
Member: beidermachtvongreyscull
beidermachtvongreyscull Sep 15, 2021 at 11:57:05 (UTC)
Goto Top
Member: MaJa7983
MaJa7983 Sep 15, 2021 at 12:12:52 (UTC)
Goto Top
@ beidermachtvongreyscull:
Danke für die Links... ich werde mal versuchen, ob ich mich da irgendwie reinfuchsen kann...
Member: MaJa7983
MaJa7983 Sep 15, 2021 at 12:13:10 (UTC)
Goto Top
@ C.Caveman:
Danke... aber so eine Antwort hilf mir leider gar nicht weiter. Für euch ist so ein batch bestimmt in zwei Minuten geschrieben. Ich bin aber nur ein einfacher Windows-Anwender. Ich habe mir schon verschiedene Lösungsansätze angesehen und die dazu veröffentlichten batches versucht an meine Bedürfnisse anzupassen. Das hat leider gar nicht geklappt. Deshalb dachte ich, dass mich hier ein freundlicher Profi eventuell unterstützen kann...
Member: TK1987
Solution TK1987 Sep 15, 2021 updated at 20:44:32 (UTC)
Goto Top
Moin Marcel,

Zitat von @MaJa7983:
Ich kenne mich leider überhaupt nich aus mit dem Schreiben solcher Batch-Befehle.
Batch ist schon seit 15 Jahren tot (und war sowieso schon immer sehr fehleranfällig). Heute nimmt man für sowas zeitgemäß gleich Powershell:
# Quellordner mit den PDF-Dateien
$Source = "C:\Test\Dateien"  

# Zielordner, an dem die Ordnerstruktur zu finden ist
$Target = "C:\Test\Hauptordner"  

# Alle PDF-Dateien im Quellordner auflisten
$Files = Get-ChildItem -File -Path "$Source\*.pdf"  

# Dateien anhand der ersten 12 Zeichen im Dateinamen gruppieren
$Groups = $Files | Group-Object -Property {$_.Name.Substring(0,12)}

# Für jede Gruppe...
Foreach ($Group in $Groups) {
  
  # Zielordner erstellen
  $Ziel = New-Item -ItemType Directory -Path "$Target\$($Group.Name)" -Force  
  
  # Dateien der Gruppe in Zielordner schieben
  Move-Item -Path $Group.Group -Destination $Ziel
  
} # Ende der Foreach-Schleife

Siehe auch unseren Powershell Leitfaden für Anfänger

Gruß Thomas
Member: MaJa7983
MaJa7983 Sep 15, 2021 at 16:01:18 (UTC)
Goto Top
Hey Thomas,
vielen vielen Dank für deine Mühe. Ich versuche das gleich mal morgen früh, wenn ich wieder an meinem PC bin. In der Zwischenzeit lese ich mich mal in das Thema Powershell ein.
Viele Grüße Marcel
Member: MaJa7983
MaJa7983 Sep 21, 2021 at 14:19:03 (UTC)
Goto Top
Hallo Thomas,
ich bin leider nun doch erst heute dazu gekommen, das von dir für mich geschriebene Skript auszuprobieren. Ich kann dir sagen, es hat einwandfrei funktioniert. Wie auch immer ihr sowas macht - ich werde das in diesem Leben nicht mehr verstehen.
Insofern nochmals allerbesten Dank für diese enorme Arbeitserleichterung.
Viele Grüße Marcel
Member: beidermachtvongreyscull
beidermachtvongreyscull Sep 21, 2021 at 16:43:23 (UTC)
Goto Top
Zitat von @MaJa7983:
Wie auch immer ihr sowas macht - ich werde das in diesem Leben nicht mehr verstehen.
Wenn Du Dich nicht damit auseinander setzt, wird das tatsächlich auch so sein und Dir bei IT-Problemen immer im Weg sein.