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, 4538 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 ..
Neuester Wissensbeitrag
Off Topic

"Ich habe nichts zu verbergen"

(2)

Erfahrungsbericht von FA-jka zum Thema Off Topic ...

Ähnliche Inhalte
Batch & Shell
Maximale Größe zu verarbeitender txt-Dateien mit Batch (5)

Frage von Muck1303 zum Thema Batch & Shell ...

Microsoft Office
gelöst Excel VBA - Inhalte und Dateiname von txt-Dateien automatisch in Excel importieren (2)

Frage von Booster07 zum Thema Microsoft Office ...

Windows Server
gelöst Freigegebener Ordner "Eigene Dateien" (8)

Frage von JensDND zum Thema Windows Server ...

Heiß diskutierte Inhalte
Linux Netzwerk
gelöst DHCP vergibt keine Adressen (31)

Frage von Maik82 zum Thema Linux Netzwerk ...

Switche und Hubs
LAG zwischen SG300-Switches macht Probleme. Wer weiß Rat? (21)

Frage von White-Rabbit2 zum Thema Switche und Hubs ...

Apache Server
gelöst Lets Encrypt SSL mit Apache2 (20)

Frage von banane31 zum Thema Apache Server ...