Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen (A bis Z)

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, 4566 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 ...

Windows Server
gelöst Automatisch erstellen von Ordner (9)

Frage von MeisterFuchs zum Thema Windows Server ...

Batch & Shell
Per Batch eine XLS-Datei in eine TXT-Datei umwandeln (5)

Frage von skiing69 zum Thema Batch & Shell ...

Neue Wissensbeiträge
Humor (lol)

Wo ist der Fehler auf dem Bild?

(11)

Information von the-buccaneer zum Thema Humor (lol) ...

Windows Update

Offenbar erneutes MS-Update mit Fehlerschleife (2012 R2)

Information von VGem-e zum Thema Windows Update ...

Windows Installation

Unorthodoxer Weg, um an einen Offline-Installer für Adobe Flash zu kommen

(14)

Tipp von beidermachtvongreyscull zum Thema Windows Installation ...

Heiß diskutierte Inhalte
Lizenzierung
Programm soll in verschiedenen Versionen lizenziert sein (20)

Frage von Yanmai zum Thema Lizenzierung ...

Windows Server
PDF Editor für den Einsatz auf Terminal Servern (16)

Frage von kwame501 zum Thema Windows Server ...

Windows Installation
Unorthodoxer Weg, um an einen Offline-Installer für Adobe Flash zu kommen (14)

Tipp von beidermachtvongreyscull zum Thema Windows Installation ...

Virtualisierung
Unterschied zwischen VDI und Terminal Server Lösungen (13)

Frage von tukawi06 zum Thema Virtualisierung ...