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

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, 2561 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 ..
Neuester Wissensbeitrag
Internet

Unbemerkt - Telekom Netzumschaltung! - BNG - Broadband Network Gateway

(3)

Erfahrungsbericht von ashnod zum Thema Internet ...

Heiß diskutierte Inhalte
Switche und Hubs
Trunk für 2xCisco Switch. Wo liegt der Fehler? (17)

Frage von JayyyH zum Thema Switche und Hubs ...

Windows Server
Outlook Verbindungsversuch mit Exchange (15)

Frage von xbast1x zum Thema Windows Server ...

DSL, VDSL
DSL-Signal bewerten (14)

Frage von SarekHL zum Thema DSL, VDSL ...