Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

Ordner umbenennen, löschen anhand von Ordnernamen

Frage Entwicklung Batch & Shell

Mitglied: cotopaxi

cotopaxi (Level 1) - Jetzt verbinden

17.02.2011, aktualisiert 13:19 Uhr, 4467 Aufrufe, 8 Kommentare

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
Mitglied: 60730
17.02.2011 um 12:32 Uhr
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ß
Bitte warten ..
Mitglied: bastla
17.02.2011 um 12:52 Uhr
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
Bitte warten ..
Mitglied: cotopaxi
17.02.2011 um 13:21 Uhr
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 - Klicke auf das Bild, um es zu vergrößern

Ich versuche mal den Tipp von bastla

Gruß
Cotopaxi
Bitte warten ..
Mitglied: ShitzOvran
17.02.2011 um 16:43 Uhr
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
Bitte warten ..
Mitglied: pieh-ejdsch
17.02.2011 um 17:49 Uhr
moin,

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

01.
@echo off&setlocal disabledelayedexpansion 
02.
if "%~1" == "" set "Test=@echo" 
03.
set "Quelle=T:\Musik" 
04.
pushD "%Quelle%" 
05.
 
06.
for /d %%i in (*) do ( 
07.
	set "name=" 
08.
09.
		for /f "delims=" %%j in ('dir /b /ad "%%i\*"') do ( 
10.
			set "name=%%~nxj" 
11.
			setlocal enabledelayedexpansion 
12.
			for /f "tokens=1,2 delims=?" %%k in ("!name:* - =!?!name: - =?!") do (endlocal 
13.
				if "%%l" == "%%i" %test% ren "%%i\%%j" "%%k" 
14.
		)	) 
15.
	)||( 
16.
		set "name=%%i" 
17.
		setlocal enabledelayedexpansion 
18.
		for /f "tokens=1,2 delims=?" %%k in ("!name:* - =!?!name: - =?!") do (endlocal 
19.
			%Test% ren "%%i" "%%k" 
20.
			%Test% md "%%l" 
21.
			%Test% move "%%k" "%%l\" 
22.
	)	) 
23.
	echo. 
24.
25.
popD 
26.
pause
Gruß Phil
Bitte warten ..
Mitglied: cotopaxi
23.02.2011 um 10:44 Uhr
Danke für Eure Tipps. Ich habe es hinbekommen.

Gruß
Cotopaxi
Bitte warten ..
Mitglied: bastla
23.02.2011 um 11:12 Uhr
Hallo cotopaxi!

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

Grüße
bastla
Bitte warten ..
Mitglied: cotopaxi
23.02.2011 um 12:22 Uhr
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
Bitte warten ..
Neuester Wissensbeitrag
Windows 10

Powershell 5 BSOD

(1)

Tipp von agowa338 zum Thema Windows 10 ...

Ähnliche Inhalte
Batch & Shell
gelöst Dateiname entsprechend einem um x-Ebenen übergeordeten Ordnernamen umbenennen (3)

Frage von Booster07 zum Thema Batch & Shell ...

Windows 10
Löschen von Ordner mit Dateien (3)

Frage von jerry32 zum Thema Windows 10 ...

Heiß diskutierte Inhalte
LAN, WAN, Wireless
gelöst Server erkennt Client nicht wenn er ausserhalb des DHCP Pools liegt (28)

Frage von Mar-west zum Thema LAN, WAN, Wireless ...

Outlook & Mail
Outlook 2010 findet ost datei nicht (18)

Frage von Floh21 zum Thema Outlook & Mail ...

Windows Server
Server 2008R2 startet nicht mehr (Bad Patch 0xa) (18)

Frage von Haures zum Thema Windows Server ...