sven289
Goto Top

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

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!

Content-Key: 224572

Url: https://administrator.de/contentid/224572

Printed on: April 23, 2024 at 08:04 o'clock

Member: bastla
Solution bastla Dec 15, 2013, updated at Dec 16, 2013 at 05:46:27 (UTC)
Goto Top
Hallo sven289 und willkommen im Forum!

Im einfachsten Fall etwa so (ungetestet):
@echo off & setlocal
set "Ordner=D:\Wetterdaten"  

pushd "%Ordner%"  
for /f "delims=" %%i in ('dir /b /on /a-d weatherdatalog*.txt') do (  
    for /f "tokens=2-4 delims=g-" %%a in ("%%~ni") do (  
        type "%%i">>"%%a-%%b-%%c.txt" && ren "%%i" "_%%i"  
    )
)
popd
Damit die Dateien nur einmal verarbeitet werden, wird nach dem Übertragen des Inhalts in die "Tagesdatei" dem Dateinamen ein "_" vorangestellt.

Grüße
bastla
Member: Sven289
Sven289 Dec 16, 2013 at 05:57:39 (UTC)
Goto Top
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!!!
Member: bastla
Solution bastla Dec 16, 2013 updated at 15:22:27 (UTC)
Goto Top
Hallo Sven289!

Dann etwa so:
@echo off & setlocal
set "Ordner=D:\Wetterdaten"  

pushd "%Ordner%"  
for /f "delims=" %%i in ('dir /b /on /a-d weatherdatalog*.txt') do (  
    for /f "tokens=2-4 delims=g-" %%a in ("%%~ni") do (  
        md "%Ordner%_Zusammen\%%a\%%b" 2>nul  
        type "%%i">>"%Ordner%_Zusammen\%%a\%%b\%%a-%%b-%%c.txt" && ren "%%i" "_%%i"  
    )
)
popd
Grüße
bastla
Member: Sven289
Sven289 Dec 16, 2013 at 15:23:31 (UTC)
Goto Top
Funktioniert alles bestens. Vielen Dank nochmal!