milzbrand
Goto Top

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

Content-Key: 113551

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

Printed on: April 24, 2024 at 08:04 o'clock

Member: bastla
bastla Apr 08, 2009 at 20:20:41 (UTC)
Goto Top
Hallo Milzbrand!

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
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
Member: Milzbrand
Milzbrand Apr 08, 2009 at 20:30:24 (UTC)
Goto Top
Super!

vielen Dank Bastla,

Wenn ich dich aber nochmal bemühen dürfte,
erstens wie könnte ich den ordner wechseln das heist nicht in Ordner\Interpret\ sondern in neuerordner\Albumtitel?

Und zweitens würdest du mir das kurz bitte erklären? weil ich verstehe nur noch bahnhof fg
Member: bastla
bastla Apr 08, 2009 at 20:43:32 (UTC)
Goto Top
Hallo Milzbrand!
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
Member: Milzbrand
Milzbrand Apr 08, 2009 at 20:49:04 (UTC)
Goto Top
Vielen Dank und Respekt.

Hat super hingehauen!

lg Steve