Bestimmte Dateien anhand Dateinamenteils in bestimmte Ordner verschieben
Schönen guten Tag 
Eventuell wurde schon ein vergleichbares Problem gelöst, ich habe aber - besonders mangels eigener Kenntnisse im Scripten - keine Lösung gefunden, die mir weitergeholfen hat. Ich möchte ein Batch für folgende Aufgabe erstellen:
In Ordner X befinden sich zahlreiche Dateien, die "[STRING]_Anlage1" benannt sind.
In Ordner Y befinden sich zahlreiche Unterordner, die bspw. "[STRING]-Max_Mustermann" benannt sind.
Ich möchte alle Dateien in Ordner X in den passenden Unterordner in Ordner Y verschieben. Welche Datei in welchen Unterordner ergibt sich aus dem [STRING].
Kann mir jemand helfen oder zu einem passenden Beitrag verlinken?
Tausend Dank im Voraus!
Beste Grüße
Eventuell wurde schon ein vergleichbares Problem gelöst, ich habe aber - besonders mangels eigener Kenntnisse im Scripten - keine Lösung gefunden, die mir weitergeholfen hat. Ich möchte ein Batch für folgende Aufgabe erstellen:
In Ordner X befinden sich zahlreiche Dateien, die "[STRING]_Anlage1" benannt sind.
In Ordner Y befinden sich zahlreiche Unterordner, die bspw. "[STRING]-Max_Mustermann" benannt sind.
Ich möchte alle Dateien in Ordner X in den passenden Unterordner in Ordner Y verschieben. Welche Datei in welchen Unterordner ergibt sich aus dem [STRING].
Kann mir jemand helfen oder zu einem passenden Beitrag verlinken?
Tausend Dank im Voraus!
Beste Grüße
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 854276755
Url: https://administrator.de/forum/bestimmte-dateien-anhand-dateinamenteils-in-bestimmte-ordner-verschieben-854276755.html
Ausgedruckt am: 07.04.2025 um 10:04 Uhr
4 Kommentare
Neuester Kommentar
z.b: so...
weitere infos findest du hier: dateien-finden-und-erkennen
find . -name "String*" -exec mv -t /target {} +
weitere infos findest du hier: dateien-finden-und-erkennen
Zitat von @blabliblupp:
Eventuell wurde schon ein vergleichbares Problem gelöst, ich habe aber - besonders mangels eigener Kenntnisse im Scripten - keine Lösung gefunden, die mir weitergeholfen hat. Ich möchte ein Batch für folgende Aufgabe erstellen:
Eventuell wurde schon ein vergleichbares Problem gelöst, ich habe aber - besonders mangels eigener Kenntnisse im Scripten - keine Lösung gefunden, die mir weitergeholfen hat. Ich möchte ein Batch für folgende Aufgabe erstellen:
Vielleicht auch schonmal hier irgendwo beschrieben:
https://administrator.de/latest/?search=datei+verschieben&source=hea ...
Servus @blabliblupp, willkommen auf Administrator.de!
Ein einfaches Powershell Beispiel zu deiner Aufgabe könnte so aussehen (Kommentare siehe Code):
Zum Thema hatten wir hier auch schon mal diverse Musterlösungen, hier zu finden
Musterlösungen: Dateien verschieben abhängig vom Teil des Dateinamens
Grüße Uwe
Powershell Link-Leitfaden für Anfänger
Ein einfaches Powershell Beispiel zu deiner Aufgabe könnte so aussehen (Kommentare siehe Code):
# Ordner mit Quelldateien
$ordnerX = 'D:\OrdnerX'
# Ordner mit weiteren Unterordnern
$ordnerY = 'D:\OrdnerY'
# alle Dateien des Ordners $ordnerX auflisten und anhand des ersten Teils des Dateinamens "gesplittet" durch den underscore gruppieren
Get-Childitem $ordnerX -File | group {$_.Basename.split("_")} | %{
# zielordner der mit diesem String und mit Bindestrich mit dem Rest verbunden ist suchen und Variablen zuweisen
$target = Get-Childitem "$ordnerY\$($_.Name)-*" -Directory | select -Expand Fullname -First 1
# nur wenn ein Unterordner für den String gefunden wurde ...
if ($target){
# verschiebe die Dateien mit diesem String in den ermittelten Zielordner
$_.Group | move-item -Destination $target -verbose
}else{
write-warning "Ein Ordner mit dem Anfangsstring '$($_.Name)' existiert nicht in '$ordnerY'!"
}
}
Zum Thema hatten wir hier auch schon mal diverse Musterlösungen, hier zu finden
Musterlösungen: Dateien verschieben abhängig vom Teil des Dateinamens
Grüße Uwe
Powershell Link-Leitfaden für Anfänger