Dateien in zu erstellende Unterordner sortieren per Batch Datei oder ähnlich?
Hallo zusammen,
kennt jemand zufällig ein Tool um Dateien automatisiert in zu erstellende Unterordner zu sortieren?
Wir haben diverse Dateien die (liegen alle im gleichen Ordner) den gleichen Namen aber verschiedene Endungen haben.
XY.pdf
XY.dwg
XY.stp
XY.XXX
Wir würden diese gerne per Batch Datei (oder ähnlich) sortieren und in zu erstellende Ordner sortieren.
Den Ordner sollte die Batch Datei mit erstellen, Name des Ordner´s dann XY.
Aus den obigen Dateien wird dann also der neue Ordner XY, in diesem sollen sich dann die Dateien XY.xxx befinden.
Hat dazu ggf. jemand eine Idee?
kennt jemand zufällig ein Tool um Dateien automatisiert in zu erstellende Unterordner zu sortieren?
Wir haben diverse Dateien die (liegen alle im gleichen Ordner) den gleichen Namen aber verschiedene Endungen haben.
XY.pdf
XY.dwg
XY.stp
XY.XXX
Wir würden diese gerne per Batch Datei (oder ähnlich) sortieren und in zu erstellende Ordner sortieren.
Den Ordner sollte die Batch Datei mit erstellen, Name des Ordner´s dann XY.
Aus den obigen Dateien wird dann also der neue Ordner XY, in diesem sollen sich dann die Dateien XY.xxx befinden.
Hat dazu ggf. jemand eine Idee?
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 449366
Url: https://administrator.de/contentid/449366
Ausgedruckt am: 23.11.2024 um 15:11 Uhr
9 Kommentare
Neuester Kommentar
Moin.
Naja, das gibts ja nun schon wie Sand am Meer.
Musterlösungen: Dateien verschieben abhängig vom Teil des Dateinamens
Würde dir Powershell empfehlen, Batch ist ja nun langsam aber sicher nicht mehr zeitgemäß.
Gruß wireguard
Naja, das gibts ja nun schon wie Sand am Meer.
Musterlösungen: Dateien verschieben abhängig vom Teil des Dateinamens
Würde dir Powershell empfehlen, Batch ist ja nun langsam aber sicher nicht mehr zeitgemäß.
# Ordner mit den Dateien
$ordner = "C:\Quellordner"
gci $ordner | ?{!$_.PSIsContainer} | group Basename | %{
# Zielordner der Gruppe festlegen
$ziel = "$ordner\$($_.Name)"
# wenn Zielordner noch nicht existiert erstelle ihn
if(!(Test-path $ziel)){md $ziel | out-null}
# Alle Dateien der Gruppe in den Zielordner verschieben
move-item $_.Group -Destination $ziel -Force -verbose
}
Zeile 7 so umschreiben
if(!(Test-path $ziel)){
md $ziel | out-null
md "$ziel\Zeichnung" | out-null
md "$ziel\Datenblatt" | out-null
md "$ziel\Programm" | out-null
}
Fehlt ja die Hälfte, kopiere es richtig dann funktioniert das auch!
Der Order ist C:\test, in diesem befinden sich die per Skript bereits erstellten Ordner.
Nun sollen noch die Unterordner dazu, aber irgendwie stelle ich mich zu dusselig an.
Obige Anpassung war ja nur für die Anwendung mit vorhandenen Dateien gedacht weil die Ordner ja nur einmal erstellt werden wenn es entsprechende Dateien gibt, nicht nachträglich! Also logisch wenn man sich den Code zumindest mal ansehen würde.Nun sollen noch die Unterordner dazu, aber irgendwie stelle ich mich zu dusselig an.
Nachträglich auf die Ordnerstruktur angewendet geht das so
$ordner = "C:\test"
gci $ordner | ?{$_.PSIsContainer} | %{
md "$($_.Fullname)\Archiv" -Force | out-null
md "$($_.Fullname)\Fertigung" -Force | out-null
md "$($_.Fullname)\Konstruktion" -Force | out-null
md "$($_.Fullname)\Unterlagen" -Force | out-null
}