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, 1351 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 ..
Neuester Wissensbeitrag
Humor (lol)

Linkliste für Adventskalender

(3)

Information von nikoatit zum Thema Humor (lol) ...

Ähnliche Inhalte
Batch & Shell
Mehrere.csv Dateien zusammenfügen zu einer Datei mit bat (4)

Frage von Piotrney zum Thema Batch & Shell ...

Batch & Shell
gelöst Einzelne Zeilen in txt Datei speichern und auslesen (7)

Frage von noah1400 zum Thema Batch & Shell ...

Batch & Shell
gelöst Dateien zusammenführen inkl. finden von doppelten Einträgen (3)

Frage von miczar zum Thema Batch & Shell ...

Heiß diskutierte Inhalte
Router & Routing
gelöst Ipv4 mieten (22)

Frage von homermg zum Thema Router & Routing ...

Windows Server
DHCP Server switchen (20)

Frage von M.Marz zum Thema Windows Server ...

Exchange Server
gelöst Exchange 2010 Berechtigungen wiederherstellen (20)

Frage von semperf1delis zum Thema Exchange Server ...

Hardware
gelöst Negative Erfahrungen LAN-Karten (19)

Frage von MegaGiga zum Thema Hardware ...