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

Dateien eines Tages zusammenführen und in einer neuen Datei speichern

Frage Entwicklung Batch & Shell

Mitglied: Sven289

Sven289 (Level 1) - Jetzt verbinden

15.12.2013, aktualisiert 16.12.2013, 1360 Aufrufe, 4 Kommentare, 2 Danke

Hallo,

ich bin auf der Suche nach einem Script, dass mehrere .txt-Dateien zusammenführt und diese in einer neuen Datei speichert.
Die Daten stammen von meiner Wetterstation und werden jede Stunde in Form einer txt-Datei gespeichert.
Die Dateien sehen so aus:
weatherdatalog2013-12-15-17-02-04.txt
weatherdatalog2013-12-15-18-02-04.txt
weatherdatalog2013-12-15-19-02-04.txt
weatherdatalog2013-12-15-20-02-04.txt
usw....(24 Stück pro Tag)

Der Inhalt einer txt-Datei enthält u.a. die Temperaturen jeder Minute in Zeitraum von einer Stunde. Eine txt-Datei sieht z.B. so aus:
6.3;2013.12.15;17:02:04
6.4;2013.12.15;17:03:04
6.4;2013.12.15;17:04:04
6.4;2013.12.15;17:05:04
6.3;2013.12.15;17:06:04
6.2;2013.12.15;17:07:04
usw..(60 Werte)

Das Script soll den Inhalt von txt-Dateien eines Tages zusammenführen und in einer neuen txt-Datei speichern.

Die Datei, die die zusammengeführten Daten eines Tages enthält, sollte heißen:
2013-12-15.txt
Das Script sollte somit nach Jahr, Monat und Tag sortieren können. Die Uhrzeit wird nicht verwendet.
Alle Dateien befinden sich in einem Ordner.

Ich hatte schon im Forum und auf anderen Seiten gesucht. Leider konnte ich nichts für meinen Zweck finden bzw. anpassen.
Ich hoffe, dass Sie/Ihr mir weiterhelfen können/könnt!

Ich bedanke mich schon mal!
Mitglied: bastla
LÖSUNG 15.12.2013, aktualisiert 16.12.2013
Hallo sven289 und willkommen im Forum!

Im einfachsten Fall etwa so (ungetestet):
01.
@echo off & setlocal 
02.
set "Ordner=D:\Wetterdaten" 
03.
 
04.
pushd "%Ordner%" 
05.
for /f "delims=" %%i in ('dir /b /on /a-d weatherdatalog*.txt') do ( 
06.
    for /f "tokens=2-4 delims=g-" %%a in ("%%~ni") do ( 
07.
        type "%%i">>"%%a-%%b-%%c.txt" && ren "%%i" "_%%i" 
08.
09.
10.
popd
Damit die Dateien nur einmal verarbeitet werden, wird nach dem Übertragen des Inhalts in die "Tagesdatei" dem Dateinamen ein "_" vorangestellt.

Grüße
bastla
Bitte warten ..
Mitglied: Sven289
16.12.2013 um 06:57 Uhr
Vielen Dank, es funktioniert!
Könnte das Script noch so ergänzt werden, dass die erstellten Dateien in einen anderen Ordner kopiert werden?
Wenn es nicht zu viele Umstände macht, wäre es schön, wenn die erstellten Daten in Ordner des Jahres, und des Monats kopiert werden könnten.
Also z.B. in diesem Pfad landen:
D:\Wetterdaten_Zusammen\2013\12\"

Nochmals vielen Dank!!!
Bitte warten ..
Mitglied: bastla
LÖSUNG 16.12.2013, aktualisiert um 16:22 Uhr
Hallo Sven289!

Dann etwa so:
01.
@echo off & setlocal 
02.
set "Ordner=D:\Wetterdaten" 
03.
 
04.
pushd "%Ordner%" 
05.
for /f "delims=" %%i in ('dir /b /on /a-d weatherdatalog*.txt') do ( 
06.
    for /f "tokens=2-4 delims=g-" %%a in ("%%~ni") do ( 
07.
        md "%Ordner%_Zusammen\%%a\%%b" 2>nul 
08.
        type "%%i">>"%Ordner%_Zusammen\%%a\%%b\%%a-%%b-%%c.txt" && ren "%%i" "_%%i" 
09.
10.
11.
popd
Grüße
bastla
Bitte warten ..
Mitglied: Sven289
16.12.2013 um 16:23 Uhr
Funktioniert alles bestens. Vielen Dank nochmal!
Bitte warten ..
Ähnliche Inhalte
Neue Wissensbeiträge
Peripheriegeräte

Was beachten bei der Wahl einer USV Anlage im Serverschrank

(2)

Tipp von zetboxit zum Thema Peripheriegeräte ...

Windows 10

Das Windows 10 Creators Update ist auf dem Weg

(5)

Anleitung von BassFishFox zum Thema Windows 10 ...

Administrator.de Feedback

Tipp: Ungelöste Fragen ohne Antwort in Tickeransicht farblich hinterlegen

Tipp von pattern zum Thema Administrator.de Feedback ...

Viren und Trojaner

Neue Magazin Ausgabe: Malware und Angriffe abwehren

Information von Frank zum Thema Viren und Trojaner ...

Heiß diskutierte Inhalte
Windows Systemdateien
Warum System auf "C:" (29)

Frage von DzumoPRO zum Thema Windows Systemdateien ...

LAN, WAN, Wireless
Cisco SG200: Auf bestimmtem vLAN bestimmte TCP-Ports sperren (16)

Frage von SarekHL zum Thema LAN, WAN, Wireless ...

Windows Server
gelöst Update BackupExec 2015 auf 2016 führt zu SQL-Server Problem (16)

Frage von montylein1981 zum Thema Windows Server ...

Cloud-Dienste
gelöst Bitcoins minen über Nacht? (16)

Frage von 1410640014 zum Thema Cloud-Dienste ...