mp3 sortieren nach Alben
Hallo an alle, ich hätte da ein kleines Problem, habe jetzt schon längerezeit selbst getestet bin aber nicht draufgekommen, vieleciht hatte ich auch den falschen nsatz.
Also zur Problemsituation:
habe mehrere hundert Odner die volgenderweise aufgebaut sind: Ordner\Künstler\Albumtitel\nr - Interpret - Titel
Nun möchte ich diese umsortieren das die Struktur Folgenderweist aussieht: ordner\Albumtitel\nr - Interpret - Titel
Danke schon mal im voraus für eure hilfe
lg Milzbrand
Also zur Problemsituation:
habe mehrere hundert Odner die volgenderweise aufgebaut sind: Ordner\Künstler\Albumtitel\nr - Interpret - Titel
Nun möchte ich diese umsortieren das die Struktur Folgenderweist aussieht: ordner\Albumtitel\nr - Interpret - Titel
Danke schon mal im voraus für eure hilfe
lg Milzbrand
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 113551
Url: https://administrator.de/forum/mp3-sortieren-nach-alben-113551.html
Ausgedruckt am: 17.05.2025 um 11:05 Uhr
4 Kommentare
Neuester Kommentar
Hallo Milzbrand!
Sollte (ungetestet) so zu machen sein:
Die "Künstler"-Ordner, die noch nicht leer sind (weil sie Dateien enthalten oder es bereits ein gleichnamiges Album im Oberordner gab), bleiben bestehen.
Bitte zunächst nur mit Kopien der Ordner testen (dazu den Pfad in Zeile 2 entsprechend anpassen)!
Grüße
bastla
Sollte (ungetestet) so zu machen sein:
@echo off & setlocal
set "Basis=D:\Dein MP3-Ordner"
pushd "%Basis%"
for /d %%i in (*.*) do (
for /d %%a in ("%%i\*.*") do if not exist "%%~nxa" move "%%a" .
rd "%%i" 2>nul
)
popd
Bitte zunächst nur mit Kopien der Ordner testen (dazu den Pfad in Zeile 2 entsprechend anpassen)!
Grüße
bastla
Hallo Milzbrand!
Kurze Erklärung des Ablaufes:
Um das Handling des (Basis-)Pfades zu vereinfachen, wird mittels "pushd" in diesen Ordner gewechselt.
Eine "for /d"-Schleife geht alle Ordner durch - dies wird in Zeile 5 zunächst für alle Künstler-Ordner und dann in Zeile 6 für alle Album-Ordner des aktuellen Künstlers gemacht.
Jeder Album-Ordner wird, wenn es noch keinen gleichnamigen (%%~na = Name, %%~xa = Extension = Teil nach dem letzten Punkt des Ordnernamens; zusammen dann %%~nxa) Ordner gibt, in den aktuellen Ordner (=Basis-Pfad) verschoben.
Nachdem alle Unterordner des "Künstler"-Ordners durch sind, wird versucht, den "Künstler"-Ordner zu entfernen. Das kann allerdings nur erfolgen, wenn dieser Ordner leer ist - anderenfalls gäbe es eine Fehlermeldung ("Das Verzeichnis ist nicht leer."), welche aber durch "2>nul" unterdrückt wird.
"popd" ist das Gegenstück zum anfänglichen "pushd" und wechselt (der Ordnung halber) in den ursprünglichen Ordner zurück.
Grüße
bastla
wie könnte ich den ordner wechseln das heist nicht in Ordner\Interpret\ sondern in neuerordner\Albumtitel?
Ersetze den Punkt am Ende der Zeile 6 durch den Pfad des neuen Ordners (muss aber auf dem selben Laufwerk liegen).Kurze Erklärung des Ablaufes:
Um das Handling des (Basis-)Pfades zu vereinfachen, wird mittels "pushd" in diesen Ordner gewechselt.
Eine "for /d"-Schleife geht alle Ordner durch - dies wird in Zeile 5 zunächst für alle Künstler-Ordner und dann in Zeile 6 für alle Album-Ordner des aktuellen Künstlers gemacht.
Jeder Album-Ordner wird, wenn es noch keinen gleichnamigen (%%~na = Name, %%~xa = Extension = Teil nach dem letzten Punkt des Ordnernamens; zusammen dann %%~nxa) Ordner gibt, in den aktuellen Ordner (=Basis-Pfad) verschoben.
Nachdem alle Unterordner des "Künstler"-Ordners durch sind, wird versucht, den "Künstler"-Ordner zu entfernen. Das kann allerdings nur erfolgen, wenn dieser Ordner leer ist - anderenfalls gäbe es eine Fehlermeldung ("Das Verzeichnis ist nicht leer."), welche aber durch "2>nul" unterdrückt wird.
"popd" ist das Gegenstück zum anfänglichen "pushd" und wechselt (der Ordnung halber) in den ursprünglichen Ordner zurück.
Grüße
bastla