Top-Themen

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

BATCH-Skript, welches 24 einzelne (Stunden-) Dateien (.csv) zu einer einzelnen (Tages-) Datei zusammenfügt und alle Zeitstempel bzw. Überschriften bis auf die erste entfernt?

Frage Entwicklung Batch & Shell

Mitglied: axfa77

axfa77 (Level 1) - Jetzt verbinden

30.01.2013, aktualisiert 14:16 Uhr, 2584 Aufrufe, 6 Kommentare

Hallo,

Erst einmal tolles Forum hier, schon viel gelesen!

Mich beschäftigt folgende Problemstellung:


Ich muss von einem entfernten PC csv-Dateien herunterladen (habe ich hinbekommen), welche folgendes Format bzw. Namen haben:

TLG_SystemArchive_20130126_000000_-_20130126_010000_MIN.csv
TLG_SystemArchive_20130126_010000_-_20130126_020000_MIN.csv
TLG_SystemArchive_20130126_020000_-_20130126_030000_MIN.csv

usw.

Diese Dateien beinhalten jeweils 1 Stunde Daten also 60 Datensätze im Minutentakt -> 24 Dateien = 1 Tag.

Vor den Daten gibt es immer eine Zeile (bzw. "Überschrift") wie eine Art Zeitstempel.

Date Spalte1 Spalte2 usw.

Daraus werden soll eine "Tagesdatei", wo alle 24 Dateien eines!! Datums zusammengefasst werden sollen (habe ich auch manuell hinbekommen via TYPE).

Problem: Es sollen bis auf den ersten Zeitstempel die restlichen 23 entfernt werden und das anfängliche "Date" in "DATE" ersetzt werden.

Wichtig hierbei ist auch, daß nur Dateien des Tages 20130126 in eine Datei zusammengefasst werden, also nicht die Daten vom z.B. 20130125 mit einfließen.

Hätte jemand eine Idee dazu?

Wäre für jeden Tip dankbar!

Gruß Axel
Mitglied: bastla
30.01.2013 um 14:32 Uhr
Hallo axfa77 und willkommen im Forum!

Da sich die Kopfzeile ja wohl nicht so häufig ändern dürfte, würde ich diese einfach (mit der gewünschten Änderung ("Date" -> "DATE") in einer Datei "Kopf.txt" speichern und dann etwa so vorgehen (ungetestet):
01.
pushd "D:\Ordner mit den CSV-Dateien" 
02.
for /f "delims=" %%i in ('dir /b/on TLG_SystemArchive_*.csv') do ( 
03.
    for /f "tokens=3 delims=_" %%a in ("%%i") do ( 
04.
        if not exist "%%a.csv" copy "Kopf.txt" "%%a.csv" >nul 
05.
        more +1 "%%i">>"%%a.csv" 
06.
07.
08.
popd
Grüße
bastla
Bitte warten ..
Mitglied: axfa77
30.01.2013, aktualisiert um 15:11 Uhr
Hallo Bastla,

danke für den Tip!

Funktioniert, nur ist die Kopfzeile jetzt gar nicht mehr vorhanden, sprich ALLE Kopfzeilen sind entfernt.

Wo stelle ich ein, wie die zusammengefasste Datei am Ende heisst? Lieb wäre mir: DAYxy.XXX (xy = Tag z.B. der 26. aus meinem Beispiel), wie ziehe ich das aus dem TLG-Namen?


Gruß Axel

EDIT: Die Datei Kopf.txt wird nirgendwo erstellt? Als erste Zeile brauche ich diese von dem ersten (echten) Datensatz...

EDIT2: Jetzt verstehe ich die Kopf.txt Sache: Der Zeitstempel ist sehr wichtig dabei, dieser MUSS in der ersten Zeile bleiben. Ich kann ihn nicht in eine Datei Kopf.txt schreiben.
Bitte warten ..
Mitglied: bastla
30.01.2013, aktualisiert 31.01.2013
Hallo axfa77!

Wenn das Original der Kopfzeile benötigt wird, dann eher so (weiterhin ungetestet ):
01.
setlocal enabledelayedexpansion 
02.
pushd "D:\Ordner mit den CSV-Dateien" 
03.
for /f "delims=" %%i in ('dir /b/on TLG_SystemArchive_*.csv') do ( 
04.
    set "Name=%%~ni" 
05.
    set "Name=DAY!Name:~24,2!.XXX" 
06.
    if not exist "!Name!" ( 
07.
        set /p Kopf=<"%%i" 
08.
        >"!Name!" echo !Kopf:Date_Time=DATE! 
09.
10.
    more +1 "%%i">>"!Name!" 
11.
12.
popd
Grüße
bastla

[Edit] Schreibweise "!Name!" und Ersetzung in Kopfzeile angepasst. [/Edit]
Bitte warten ..
Mitglied: axfa77
31.01.2013, aktualisiert um 09:59 Uhr
Hi,

vielen Dank!

Leider fehlt immer noch die 1. Kopfzeile.

Ich hab keinen Schimmer, wie ich das machen soll.

Der Rest läuft PERFEKT!!!

Vielleicht noch eine Idee?

Gruß

EDIT: die Kopfzeile jeder Datei sieht so aus (Date_Time muss mit DATE ersetzt werden):

Date_Time;30AA203XR01/ANA.QOUT;30AA211XQ01/ANA.QOUT;30AM210XQ01/ANA.QOUT;30AN001XQ04/ANA.QOUT;30CP202XQ01/ANA.QOUT;30CP203XQ01/ANA.QOUT;30CP210XQ01/ANA.QOUT;30CP230XQ01/ANA.QOUT;30CP234XQ01/ANA.QOUT;30CP234XQ02/ANA.QOUT;30CP234XQ03/ANA.QOUT;30CP234XQ91/ANA.IN;30CP234XQ91/ANA.IN1;30CP234XQ91/ANA.IN2;30CP234XQ91/ANA.IN3;30CT040XQ01/ANA.QOUT;30CT101XQ01/ANA.QOUT;30CT102XQ01/ANA.QOUT;30CT103XQ01/ANA.QOUT;30CT104XQ01/ANA.QOUT;30CT105XQ01/ANA.QOUT;30CT106XQ01/ANA.QOUT;30CT111XQ01/ANA.QOUT;30CT112XQ01/ANA.QOUT;30CT121XQ01/ANA.QOUT;30CT122XQ01/ANA.QOUT;30CT123XQ01/ANA.QOUT;30CT124XQ01/ANA.QOUT;30CT201XQ01/ANA.QOUT;30CT202XQ01/ANA.QOUT;30CT203XQ01/ANA.QOUT;30CT205XQ01/ANA.QOUT;30CT221XQ01/ANA.QOUT;30CT222XQ01/ANA.QOUT;30CT223XQ01/ANA.QOUT;30CT229XQ01/ANA.QOUT;30CT229XQ02/ANA.QOUT;30CT229XQ03/ANA.QOUT;30CT229XQ91/ANA.IN;30CT229XQ91/ANA.IN1;30CT229XQ91/ANA.IN2;30CT229XQ91/ANA.IN3;30CT230XQ01/ANA.QOUT;30CY106XQ01/ANA.QOUT;30CY106XQ02/ANA.QOUT;30CY111XQ41/ANA.QOUT;30CY111XQ45/ANA.QOUT;30CY112XQ47/ANA.QOUT;30CY112XQ49/ANA.QOUT;30CY115XQ11/ANA.QOUT;30CY121XQ41/ANA.QOUT;30CY121XQ45/ANA.QOUT;30CY122XQ47/ANA.QOUT;30CY122XQ49/ANA.QOUT;30CY125XQ11/ANA.QOUT;30CY126XQ01/ANA.QOUT;30CY126XQ02/ANA.QOUT;30GH001XR05/ANA.QOUT;30GH001XR06/ANA.QOUT;31CL300XQ01/ANA.QOUT;31CP360XQ01/ANA.QOUT;31CP370XQ01/ANA.QOUT;31CP383XQ01/ANA.QOUT;31CP383XQ02/ANA.QOUT;31CP383XQ03/ANA.QOUT;31CP383XQ91/ANA.IN;31CP383XQ91/ANA.IN1;31CP383XQ91/ANA.IN2;31CP383XQ91/ANA.IN3;31CT367XQ01/ANA.QOUT;32CF441XQ01/ANA.QOUT;32CF442XQ01/ANA.QOUT;32CF443XQ01/ANA.QOUT;32CP400XQ01/ANA.QOUT;32CP420XQ01/ANA.QOUT;32CP441XQ01/ANA.QOUT;32CP441XQ02/ANA.QOUT;32CP441XQ03/ANA.QOUT;32CP441XQ91/ANA.IN;32CP441XQ91/ANA.IN1;32CP441XQ91/ANA.IN2;32CP441XQ91/ANA.IN3;32CP442XQ01/ANA.QOUT;32CP442XQ02/ANA.QOUT;32CP442XQ03/ANA.QOUT;32CP442XQ91/ANA.IN;32CP442XQ91/ANA.IN1;32CP442XQ91/ANA.IN2;32CP442XQ91/ANA.IN3;32CP443XQ01/ANA.QOUT;32CP443XQ02/ANA.QOUT;32CP443XQ03/ANA.QOUT;32CP443XQ91/ANA.IN;32CP443XQ91/ANA.IN1;32CP443XQ91/ANA.IN2;32CP443XQ91/ANA.IN3;70CP415XQ01/ANA.QOUT;70CP415XQ02/ANA.QOUT;70CP415XQ03/ANA.QOUT;70CP415XQ91/ANA.IN;70CP415XQ91/ANA.IN1;70CP415XQ91/ANA.IN2;70CP415XQ91/ANA.IN3;FIC230/ASC.DISV;FIC230/ASC.FLOW;FIC230/ASC.HEAD;FIC230/ASC.P1_In;FIC230/ASC.P2_In;FIC230/ASC.PDT_In;FIC230/ASC.T1_In;FIC230/ASC.Y;FIC230/ASC.Z1_In;MASSFLOW_GT/ANA.QOUT;PIC202/PID.DISV;PIC202/PID.LMNR_IN_phy;PIC202/PID.OP_SP;PIC202/PID.PV_IN;PIC202/PID.PV_MAX;PIC202/PID.PV_MIN;PIC202/PID.QLMN_phy;PIC202/PID.QSP_Aktuell;PIC202/PID.SP_MAX;PIC202/PID.SP_MIN;PIC215/PID.LMNR_IN_phy;PIC215/PID.OP_SP;PIC215/PID.PV_IN;PIC215/PID.PV_MAX;PIC215/PID.PV_MIN;PIC215/PID.QLMN_phy;PIC215/PID.QSP_Aktuell;PIC215/PID.SP_MAX;PIC215/PID.SP_MIN
Bitte warten ..
Mitglied: bastla
31.01.2013 um 12:13 Uhr
Hallo axfa77!

Hatte leider "!Name!" falsch geschrieben - ist jetzt oben korrigiert.

Grüße
bastla
Bitte warten ..
Mitglied: axfa77
31.01.2013 um 14:39 Uhr
Zitat von bastla:
Hallo axfa77!

Hatte leider "!Name!" falsch geschrieben - ist jetzt oben korrigiert.

Grüße
bastla

Hallo,

allergrössten Respekt, es funktioniert!

Grosses DANKE!
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
Skript für: Automatisch generierte CSV Datei
Beitrag von 3 Kommentare

Frage von janelsaesser zum Thema Batch & Shell

Batch & Shell
PowerShell Skript für die Erstellung einer CSV Datei mit Dateien aus einem Ordner
Beitrag von 3 Kommentare

Frage von janelsaesser zum Thema Batch & Shell

VB for Applications
VBA Skript zum Import von CSV-Dateien
Beitrag von 8 Kommentare

Frage von Toepfi zum Thema VB for Applications

Batch & Shell
Dateien aus CSV mit Batch suchen
Beitrag von 5 Kommentare

Frage von joes1609 zum Thema Batch & Shell

Neue Wissensbeiträge
Administrator.de Feedback

Entwicklertagebuch: Die Startseite wurde überarbeitet

Beitrag von 2 Kommentare

Information von admtech zum Thema Administrator.de Feedback

Vmware

VMware Desktopprodukte sind verwundbar

Beitrag von

Information von Penny.Cilin zum Thema Vmware

Datenschutz

Session-Replay: Viele beliebte Webseiten zeichnen jegliche Texteingabe auf

Beitrag von 2 Kommentare

Information von Penny.Cilin zum Thema Datenschutz

Sicherheit

Zufällige Speicherzuweisung: Windows-Bug hebelt Sicherheitsmechanismus ASLR aus

Beitrag von 1 Kommentar

Information von Penny.Cilin zum Thema Sicherheit

Heiß diskutierte Inhalte
Visual Studio
Vb.net-Tool zum Erzeugen einer Outlook-E-Mail
Beitrag von 24 Kommentare

Frage von ahstax zum Thema Visual Studio

Windows Netzwerk
Netzwerk Neustrukturierung
Beitrag von 16 Kommentare

Frage von IT-Dreamer zum Thema Windows Netzwerk

Windows Server
RDP macht Server schneller???
Beitrag von 16 Kommentare

Frage von JaniDJ zum Thema Windows Server

Windows 10
Windows 10 dunkler Bildschirm nach Umfallen
Beitrag von 15 Kommentare

Frage von Akcent zum Thema Windows 10