shaagrath
Goto Top

MP3 Sammlung Ordnerstruktur reorganisieren

Hallo,

grad frisch angemeldet, aber habe schon seit Tagen versucht lesenderweise mein Problem in den Griff zu bekommen, aber leider ist meine konkrete Problemstellung nicht vorhanden und da ich Null Ahnung von Batch-Programmierung habe, konnte ich vorhandene Ansätze auch nicht weiterentwickeln.

Also, mein Problem ist, dass ich meine MP3 Sammlung neuorganisieren möchte.

Momentane Verzeichnisstruktur sieht folgendermaßen aus:
D:\Alben\ABBA - 1970 - ABBA1\Track1.mp3
D:\Alben\ABBA - 1975 - ABBA2\Track1.mp3
D:\Alben\ACDC - 1992 - LIVE\CD1\Track1.mp3
D:\Alben\ACDC - 1992 - LIVE\CD2\Track1.mp3

Jedes einzelne Album hat also einen eigenen Ordner.

neue, gewünschte Verzeichnisstruktur soll so aussehen
D:\Alben\ABBA\1970 - ABBA1\Track1.mp3
D:\Alben\ABBA\1975 - ABBA2\Track1.mp3
D:\Alben\ACDC\1992 - LIVE\CD1\Track1.mp3
D:\Alben\ACDC\1992 - LIVE\CD2\Track1.mp3
D:\Alben\ACDC\SingleCollection\Hells Bells.mp3

Sprich, ich will nur einen Ordner pro Band haben und in dem sollen Unterordner für die jeweiligen Alben bzw. Singles/Extras/etc,. die mit der Jahreszahl vom Erscheinungsjahr beginnen (oder halt nicht).

Ich glaube zu wissen, was genau der Programm/Batch machen müsste, aber leider spreche ich die Sprache vom Computer nicht, daher hier als mögliche Hilfestellung oder als ausführlichere Erklärung wie ich mir das vorstelle mal mein Pseudo-Code:

Read 1. Folder (D:\Alben\ABBA - 1970 - ABBA1)
Parse Bandname (ABBA) [Alles was vorm ersten Auftreten von " - " ist der Bandname)
Parse Rest vom Foldernamen (1970 - ABBA1) [Alles nach " - "]
Check ob Folder ABBA existiert
No? Create Folder ABBA
Gehe in diesen Ordner
Checke ob Folder "1970 - ABBA1" existiert
No? Create Folder "1970 - ABBA1"
Move *.* von Folder "D:\Alben\ABBA - 1970 - ABBA1" nach "E:\ABBA\1970 - ABBA1" [bzw. Copy zum Testen]
Fange von vorne an, nur halt nun den 2. Folder (D:\Alben\ABBA\1975 - ABBA2\Track1.mp3)
...
Bis zum letzten Folder.


Also ich würde mich wirklich sehr freuen, wenn mir da jemand zur Hand gehen könnte und wünsche allen ein schönes Wochenende.

Content-ID: 134175

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

Ausgedruckt am: 19.11.2024 um 07:11 Uhr

SamvanRatt
SamvanRatt 23.01.2010 um 13:04:40 Uhr
Goto Top
Ich komme seit 1994 (habe damals für Bayern3 das begonnen) mit dieser Struktur hin:
(dort gibt es auch noch eine Unterteilung mit Musikstil, ist aber unnötig bei dir; bei Bayern3 wurde auch sehr früh auf flac umgestellt, ist aber für dich unerheblich):

Stil/Gruppe/Album/Gruppe-Album_CDNummer-Track-Titel

wie z.B.:
/dev/tape0/POP/ABBA/ABBA Gold_Greatest Hits/ABBA-ABBA Gold_Greatest Hits-09-Money, Money, Money.flac

Im Notfall kann man damit dann alles in eine Flache Struktur bringen (sprich alle Songs in einem Verzeichnis) oder auch wieder simpel mit Skripten separieren (daher darf es nur insgesamt 3 Bindestriche geben (sog Seperatoren); alle anderen sind auf Unterstrich umgebrochen [wegen der Schieren Menge von etwa 120k Alben und daher rund mehrere Millionen Tracks war damit die einzige Möglichkeit einen Song auf Wunsch zu spielen (vor 1995 mußte dann ein Hiwi los und suchen....); jetzt geht das in etwa 10 Sek via Suche.

Gruß
Sam
bastla
bastla 23.01.2010 um 13:12:17 Uhr
Goto Top
Hallo shaagrath und willkommen im Forum!

Etwa so:
@echo on & setlocal
set "Quelle=D:\Alben"  
set "Ziel=E:\Alben"  

for /d %%i in ("%Quelle%\*.*") do call :ProcessFolder "%%i"  
goto :eof

:ProcessFolder
set "Ordner=%~nx1"  
for /f "delims=§" %%a in ("%Ordner: - =§%") do set "Neu=%%a"  
call set "Neu=%Ziel%\%Neu%\%%Ordner:%Neu% - =%%"   
md "%Neu%" 2>nul  
if not exist "%Neu%\" echo Ordner "%Neu%" nicht vorhanden! & goto :eof  
xcopy /s "%~1\*.*" "%Neu%\"  
goto :eof
Wunschgemäß (und sinnvoller Weise) wird nur kopiert und nicht verschoben.

Grüße
bastla
MagicM
MagicM 23.01.2010 um 13:54:51 Uhr
Goto Top
Hallo,

schau dir doch mal das Programm "The Godfather" an.

Neben der (Massen-)Tag-Bearbeitung kann man hier auch die MP3s neuordnen lassen...

Gruß
Magic
shaagrath
shaagrath 23.01.2010 um 22:29:47 Uhr
Goto Top
Hi, wollte heute Mittag schonmal antworten, aber dann ging mir der erstellte Beitrag hopps.

@SamvanRatt
Ich will eigentlich auch nur aus kosmetischen Gründen umstellen, habe vor ein paar Wochen das Programm subsonic entdeckt und dort ist's schöner zu navigieren und anzuschauen mit meiner gewünschten Struktur.

@bastla
Das Skript funktioniert hervorragend, zumindest der Test auf dem Desktop PC klappte ohne Probleme. Auf dem Windows Home Server haut es gar nicht hin, aber ich gehe davon aus, dass es mit der besonderen Art und Weise zusammenhängt, wie WHS die Dateien verwaltet. Kopiert mir komische Dateien und richtet Ordner Namens Fake ein und sowas in der Art.
Jetzt wird halt zweimal hin und her kopiert auf exterene Festplatte, aber das geht ja recht fix und vorallem ohne mein aktives Zutun.

Vielen Dank!

@MagicM
Godfather habe ich mir kurz die Beschreibung durchgelesen, aber denke, dass ich es trotz der Probleme mit dem WHS mit dem Skript erledige. Dennoch auch Dir ein Dankeschön. Hatte auch in der Richtung Mp3-Tag / Renamer viel gesucht, aber alle MP3 Programme haben auf den ID Tags aufgebaut, die ich leider auch nicht vollständig gepflegt habe und die Renamer Programme boten nicht so komplexe Strukturen, bzw. wenn, dann hätte man die sich wohl auch wiederum skripten müssen, womit ich nix gewonnen hätte.
SamvanRatt
SamvanRatt 24.01.2010 um 14:29:06 Uhr
Goto Top
Hi shaagrath
mit der obig beschriebenen Struktur kannst du dann halt ID Tags und rückwirkend Filenamen vergeben; aber wenn man einmal was gewohnt ist und zufrieden ist wieso ändern. Da CDex seit ewigkeiten diese Struktur als Default nimmt, hat sich das damals gut gegeben so weiter zu arbeiten. Da ich seit 97 eben keine optischen Datenträger mehr nutze (selber Hintergrund: einfach zu viel Sucherei) habe ich diese Struktur auch gewählt und bis dato alle änderungen (OS/2 auf WindowsNT, Windows2000 auf Linux) mit keinerlei Änderungen immer übernehmen können UND eine Suche erübrigt sich durch die flache Struktur; das bedeutet für mich das ich jeden Track (sofern ich einen NAmen habe wie Gruppe, Track, Interpret, ....) kann ich in etwa 10 Sek alles haben/abspielen was ich will und muß nichts in eine Datenbank einpflegen (habe noch nirgends erlebt das die Daten später mal wieder woanders so simpel importierbar waren), sondern sie einfach reinkopieren, Ende
Gruß
Sam