cotopaxi
Goto Top

Ordner umbenennen, löschen anhand von Ordnernamen

Hallo,

ich möchte meine Musiksammlung neu strukturieren.

1.
aus Ordnern:

-Interpret
-Interpret - Album1
-Interpret - Album2
-Interpret - Album3

soll der Interpret aus den Unterordnernamen gelöscht werden

-Interpret
-Album1
-Album2
-Album3

2. Wenn kein Unterordner vorhanden ist soll aus:

-Interpret - Album

dann

-Interpret
-Album

werden. Dabei sollen die Titel in den neuen Unterordner Album verschoben werden.

Kann man dies mit einer Batchdatei erreichen?


Vielen Dank für die Hilfe.
Gruß
Cotopaxi

Content-ID: 161002

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

Ausgedruckt am: 20.11.2024 um 11:11 Uhr

60730
60730 17.02.2011 um 12:32:07 Uhr
Goto Top
Moin,

ich hab zwar etwas Plan von der Materie - aber was du haben willst - verstehe ich nicht.

  • Bilder sagen mehr als Worte
  • oder andersherum ich seh den Wald vor lauter Bäumen nicht
  • Apropos Baum - heisst das im angelsächsichen Umland nicht Tree?

N:\>tree C:\!ripp
C:\!RIPP
├───Candy Dulfer
│   ├───1989 - Lily Was Here [Soundtrack]
│   ├───1991 - Saxuality
│   ├───1993 - Live In Baden Baden (Germany)
│   ├───1993 - Sax-A-Go-Go
│   ├───1995 - Big Girl
│   ├───1997 - For The Love Of You
│   ├───1998 - The Best Of
│   ├───1999 - Cookie's Fortune [Soundtrack]
│   ├───1999 - Girls Night Out
│   ├───2001 - Live In Amsterdam
│   ├───2002 - Dulfer, Dulfer
│   ├───2003 - Right In My Soul
│   ├───2005 - Live At The Montreux 2002
│   └───2007 - Candy Store
├───Christoph Maria Herbst
│   ├───Ein Traum von einem Schiff
├───Nils Landgren Funk Unit
│   └───5000 Miles
└───Slade
    └───We Are All Crazy

Gruß
bastla
bastla 17.02.2011 um 12:52:24 Uhr
Goto Top
Hallo cotopaxi!

Nur mal als Anhaltspunkt: Wenn ein Ordner "Interpret - Album" heißt, und es im Interpretennamen weder ein Leerzeichen, noch ein "-" gäbe, wäre das vergleichsweise simpel - direkt in der CMD-Shell:
for /f "delims=" %i in ('dir /b /ad') do for /f "tokens=1* delims=- " %a in ("%~i") do @echo %b
Da dem in der Realiltät allerdings nicht so sein wird (und damit eine gesicherte Unterscheidung zwischen "Interpret" und "Album" eigentlich nicht vorgenommen werden kann), wäre wohl eine auf derlei Aktionen spezialisierte Software die bessere Wahl - zB The Godfather (besonders, wenn die Titel bereits vernünftig getagged sind) ...

Grüße
bastla
cotopaxi
cotopaxi 17.02.2011 um 13:21:26 Uhr
Goto Top
Hallo bastla, hallo Timo,

in der Tat ist keine Kontinuität in der Struktur vorhanden. Da Bilder mehr sagen als Wort ein Beispiel was ich meine.

a3c2676c374b8449feaa1548e9d81f5c

Ich versuche mal den Tipp von bastla

Gruß
Cotopaxi
ShitzOvran
ShitzOvran 17.02.2011 um 16:43:42 Uhr
Goto Top
ich weiß, das hat nichts mir batch-dateien basteln zu tun... aber wenn der primäre Sinn ist, deine MP3s sinnvoll zu sortieren, dann empfehle ich immer wieder gerne das Programm "MediaMonkey". basiert auf Winamp und hat eine super autosortier funktion.

Du sagst dann einfach, dass du alle deine MP3s nach einer gewissen Struktur ablegen möchtest... zB

#Interpret#\#Album#\ #Interpret# - #Title#.mp3

dann würde er in einem verzeichnis ordner erstellen die betitelt sind mit dem Interpreten... und in diese Ordner die Albumtitel... usw usw
pieh-ejdsch
pieh-ejdsch 17.02.2011 um 17:49:24 Uhr
Goto Top
moin,

da der Trenner für solche Ordner-Namensgebungenen immer " - " Leerzeichen Unterstrich Leerzeichen ist würde ich von Batch nicht unbedingt abschrecken.

@echo off&setlocal disabledelayedexpansion
if "%~1" == "" set "Test=@echo"  
set "Quelle=T:\Musik"  
pushD "%Quelle%"  

for /d %%i in (*) do (
	set "name="  
	(
		for /f "delims=" %%j in ('dir /b /ad "%%i\*"') do (  
			set "name=%%~nxj"  
			setlocal enabledelayedexpansion
			for /f "tokens=1,2 delims=?" %%k in ("!name:* - =!?!name: - =?!") do (endlocal  
				if "%%l" == "%%i" %test% ren "%%i\%%j" "%%k"  
		)	)
	)||(
		set "name=%%i"  
		setlocal enabledelayedexpansion
		for /f "tokens=1,2 delims=?" %%k in ("!name:* - =!?!name: - =?!") do (endlocal  
			%Test% ren "%%i" "%%k"  
			%Test% md "%%l"  
			%Test% move "%%k" "%%l\"  
	)	)
	echo.
)
popD
pause

Gruß Phil
cotopaxi
cotopaxi 23.02.2011 um 10:44:55 Uhr
Goto Top
Danke für Eure Tipps. Ich habe es hinbekommen.

Gruß
Cotopaxi
bastla
bastla 23.02.2011 um 11:12:32 Uhr
Goto Top
Hallo cotopaxi!

Möchtest Du vielleicht auch kurz beschreiben, wie Du vorgegangen bist?

Grüße
bastla
cotopaxi
cotopaxi 23.02.2011 um 12:22:11 Uhr
Goto Top
Hallo bastla,

ich habe es von Hand umstrukturiert, da wie du angemerkt hast die Struktur an sich nicht
immer gleich ist.

Da es ein einmaliger Vorgang ist, konnte ich den Zeitaufwand vertreten.
Die Batch von Phil hat zum großen Teil auch geholfen, aber ich hätte so
oder so von Hand nachbessern müssen.

DANKE allen

Gruß
Cotopaxi