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 anhand von txt-Dateien erstellen

Frage Entwicklung Batch & Shell

Mitglied: cotopaxi

cotopaxi (Level 1) - Jetzt verbinden

10.01.2010 um 20:49 Uhr, 4560 Aufrufe, 7 Kommentare

Liebe Spezialsiten,

mein Problem(e):

in einem Ordner sind Textdateien mit dem Format: Künstler - Titel.txt vorhanden.
Daraus sollen jeweils Ordner im selben Verzeichnis erstellt werden.

D:\Songs\Künstler - Titel

Wenn es mehrere Titel eines Künstler gibt z.B Künstler - Titel01.txt, Künstler - Titel02.txt
sollen daraus werden

D:\Songs\Künstler\Künstler - Titel01
D:\Songs\Künstler\Künstler - Titel02

Kann da jemand helfen?

Liebe Grüße
Cotopaxi
Mitglied: bastla
10.01.2010 um 21:02 Uhr
Hallo cotopaxi!

Etwa so:
01.
@echo off & setlocal 
02.
set "Basis=D:\Songs" 
03.
 
04.
for %%i in ("%Basis%\*.txt") do set "DName=%%~ni" & call :ProcessFile "%%i" 
05.
pause 
06.
goto :eof 
07.
 
08.
:ProcessFile 
09.
for /f "delims=§" %%a in ("%DName: - =§%") do set "Kuenstler=%%a" 
10.
echo md "%Basis%\%Kuenstler%\%DName%" 2>nul 
11.
goto :eof
Das "echo" vor dem "md" sorgt dafür, dass nur die Befehle zum Erstellen der Ordner angezeigt, die Ordner aber noch nicht erstellt werden - wenn alles vernünftig aussieht, einfach das "echo" entfernen (die Zeile "pause" wird dann eigentlich auch nicht mehr benötigt) ...

[Edit] Da es ja keine "Künstler"-Ordner geben soll, die nur einen einzigen "Titel"-Ordner enthalten, könnte mit folgendem zweiten Batch (Achtung: Keine Testversion - die Ordnerstruktur wird sofort geändert, daher als "Basis" bitte einen Testordner mit einigen kopierten Test-Unterordnern verwenden!) der gewünscht Zustand hergestellt werden:
01.
@echo off & setlocal 
02.
set "Basis=D:\SongsTest" 
03.
 
04.
for /d %%i in ("%Basis%\*.*") do ( 
05.
    for /f %%a in ('dir /ad "%%i"^|findstr "Verzeichnis(se),"') do if "%%a"=="3" ( 
06.
        for /d %%f in ("%%i\*.*") do move "%%f" "%Basis%\" 
07.
        if not errorlevel 1 rd "%%i" 
08.
09.
)
[/Edit]

Noch zu überlegen: Was soll in Zukunft geschehen, wenn ein weiterer Titel eines Künstlers, von dem es bisher nur einen Titel gab, hinzukommt? Insofern wäre vielleicht die einheitliche Struktur "D:\Songs\Künstler\Künstler - Titel" auch für (derzeit) einzelne Titel sinnvoll (und der zweite Batch entbehrlich).

Grüße
bastla
Bitte warten ..
Mitglied: cotopaxi
10.01.2010 um 21:33 Uhr
Lieber basla,

der HAMMER! Ich bin super happy mit deiner schnellen Antwort.
Alles läuft wie "Länderspiel".

Vielen DANK!!!
Bitte warten ..
Mitglied: bastla
10.01.2010 um 21:36 Uhr
Hallo cotopaxi!

Freut mich (wobei ich noch auf meine am Ende angefügte Überlegung hinweisen möchte) ...

Grüße
bastla
Bitte warten ..
Mitglied: cotopaxi
10.01.2010 um 21:41 Uhr
Hallo bastla.

stimmt die erste Version ist für hinzukommende Titel günstiger.

Noch mal vielen Dank.

Gruß
cotopaxi
Bitte warten ..
Mitglied: cotopaxi
10.01.2010 um 21:45 Uhr
Hallo bastla,

da fällt mir noch siedend heiß ein, dass doch die eigentlichen txt-Dateien in die jeweiligen Verzeichnisse kopiert werden sollen.
Ist das machbar?

gruß
cotopaxi
Bitte warten ..
Mitglied: bastla
10.01.2010 um 21:54 Uhr
Hallo cotopaxi!

Ich hatte mich auch schon gefragt, was mit diesen Dateien weiter passieren sollte - meine Antwort wäre allerdings "Verschieben" gewesen ...

Zum Kopieren die Zeile 10 durch
md "%Basis%\%Kuenstler%\%DName%" 2>nul && copy %1 "%Basis%\%Kuenstler%\%DName%\"
ersetzen, und falls Du doch verschieben wolltest, aus dem "copy" ein "move" machen ...

Grüße
bastla
Bitte warten ..
Mitglied: cotopaxi
10.01.2010 um 22:14 Uhr
Hallo bastla,

erschreckend, wie super das in diesem Forum funktioniert, da fällt mir nichts mehr ein.
Kopieren ist in der Tat nicht so sinnvoll. Habe wie du anmerkst einfach move verwendet.

1000 Dank!

Gruß
cotopaxi
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
Ordner erstellen ll Datei hinein kopieren (1)

Frage von heyalice zum Thema Batch & Shell ...

VB for Applications
gelöst VBS Ordner erstellen - wenn nicht vorhanden! (1)

Frage von freshman2017 zum Thema VB for Applications ...

Batch & Shell
Wert in einer TXT Datei suchen (11)

Frage von nolle99 zum Thema Batch & Shell ...

Batch & Shell
gelöst Batch - Datei aus Ordner einlesen mit Ausnahmen! (4)

Frage von Daedrafaction zum Thema Batch & Shell ...

Neue Wissensbeiträge
Windows Server

Umstellung SHA 1 auf SHA 2 - Migration der CA von CSP auf KSP

Tipp von Badger zum Thema Windows Server ...

Windows 10

Quato DTP94 unter Windows 10 x64 installieren und verwenden

Anleitung von anteNope zum Thema Windows 10 ...

Windows 10

Win10 1703 und Nutzerkennwörter bei Ersteinrichtung - erstaunliche Erkenntnis

(15)

Erfahrungsbericht von DerWoWusste zum Thema Windows 10 ...

Heiß diskutierte Inhalte
Festplatten, SSD, Raid
gelöst Raid-Controller (Areca) Datenverlust trotz R5 (13)

Frage von sebastian2608 zum Thema Festplatten, SSD, Raid ...

Webentwicklung
Aktuellen Mitarbeiter auf Homepage anzeigen (13)

Frage von alemanne21 zum Thema Webentwicklung ...

Microsoft Office
gelöst Office 365 Pro Domäne einrichten OHNE Webseite (9)

Frage von thklemm zum Thema Microsoft Office ...

Voice over IP
48 Port VOIP Switch mit POE gesucht (8)

Frage von brutzler zum Thema Voice over IP ...