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-Key: 161002

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

Printed on: April 26, 2024 at 04:04 o'clock

Mitglied: 60730
60730 Feb 17, 2011 at 11:32:07 (UTC)
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ß
Member: bastla
bastla Feb 17, 2011 at 11:52:24 (UTC)
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
Member: cotopaxi
cotopaxi Feb 17, 2011 at 12:21:26 (UTC)
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
Member: ShitzOvran
ShitzOvran Feb 17, 2011 at 15:43:42 (UTC)
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
Member: pieh-ejdsch
pieh-ejdsch Feb 17, 2011 at 16:49:24 (UTC)
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
Member: cotopaxi
cotopaxi Feb 23, 2011 at 09:44:55 (UTC)
Goto Top
Danke für Eure Tipps. Ich habe es hinbekommen.

Gruß
Cotopaxi
Member: bastla
bastla Feb 23, 2011 at 10:12:32 (UTC)
Goto Top
Hallo cotopaxi!

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

Grüße
bastla
Member: cotopaxi
cotopaxi Feb 23, 2011 at 11:22:11 (UTC)
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