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 Inhalt von meheren Log-Dateien zusammenführen (an gewisse Zeilen)

Mitglied: SaschaRD

SaschaRD (Level 1) - Jetzt verbinden

11.07.2013 um 13:21 Uhr, 2436 Aufrufe, 6 Kommentare

Hallo zusammen,

ich habe ein Problemchen und hoffe jemand hat eine Lösung für mich.

Ich habe über Batchskripte die Installation einer Software (Client, Server etc.) automatisiert (die täglich neu gebaut wird (daily build)). Hierbei ruft das Vater Batchskript, Kinder Batchskripte auf. Das Vater Batchskript erzeugt 2-Log-Dateien und jedes Kind Batchskript jeweils 2-Log-Dateien.

Nach Durchlauf der Batchskripte wird eine E-Mail generiert und mir zugesandt. Dabei möchte ich gern den Dateien Anhang auf 2-Log-Dateien minimieren. Den Inhalt der Kind Log-Dateien möchte ich gern in die Vater Log-Dateien kopieren, dies habe ich mit:

copy copy_process%DATE%.log /b process_%DATE%.log

durchgeführt. Der Inhalt wird jedoch an die letzten Zeile der Vater Log-Datei mit angehangen

Beispiel aus copy_process.log:

start copy process: 11.07.2013:
10:56:24,59: copy Client
10:56:44,82: Client successful copied
10:56:44,84: copy Server
10:57:41,59: Server successful copied
10:57:41,59: copy CLI
11:00:39,95: CLI successful copied
11:00:39,95: copy Runtime
11:04:40,83: Runtime successful copied

Was ich jedoch gern möchte ist den Inhalt aus den Kind Log-Dateien in gewisse Zeilen kopieren, damit ist das Lesen der unterschiedlichen Installationsschritte wesentlich einfacher.

Beispiel process.log (Vater Log-Datei):

prepare daily build installation: 11.07.2013:
10:56:24,15: check daily build version: 11.07.2013 server - 11.07.2013 client are equal
10:56:24,39: delete local daily build data
10:56:24,56: local daily build data successful deleted
daily build installation successful prepared.

Der Inhalt aus copy_process.log müsste zwischen Zeile 4 und 5 kopiert werden usw.

Wäre super wenn jemand eine Lösung für mein Problemchen hat.

Vielen Dank im Voraus.

Gruß, Sascha


Mitglied: 76109
11.07.2013 um 13:59 Uhr
Hallo SaschaRD!

Um das Ganze etwas zu vereinfachen, wäre es eventuell sinnvoll, an den betreffenden Stellen in der Vater.Log Platzhalter in der Form 'reserved copy_procress.log' mit reinzuschreiben...

Gruß Dieter
Bitte warten ..
Mitglied: andimue
11.07.2013 um 14:40 Uhr
Hallo,

wenn es dir möglich wäre bei allen Zeilen im Vater- und Kind-log vorne eine Uhrzeit reinzuschreiben könntest du später alle Zeilen einfach zusammenkopieren und anschliessend sortieren.

Gruß
Andi
Bitte warten ..
Mitglied: Endoro
11.07.2013 um 14:48 Uhr
Zitat von SaschaRD:
Wäre super wenn jemand eine Lösung für mein Problemchen hat.

Hallo Sascha,
klar ist das zu machen. Ist aber aufwendig.
Wäre mir nix für batch.

lg
Bitte warten ..
Mitglied: pieh-ejdsch
11.07.2013 um 15:05 Uhr
moin Sascha,

ich würde den Hauptbatch anpassen:

01.
 rem Bis Hierhin zum Start der 1.Sub 
02.
call "%~dp0Sub1.cmd" 
03.
copy copy_process%DATE%.log /b process_%DATE%.log 
04.
 rem Dann weiter im Script
Gruß Phil
Bitte warten ..
Mitglied: SaschaRD
11.07.2013 um 15:49 Uhr
Ha! Verdammte Axt...

Habe es soeben eingebaut und es funktioniert! So simple! Den Gedanken muss man aber erst mal haben!

Ich möchte recht herzlich bei allen bedanken für Ihre Antworten.

Im Vater Batchskript wurde nachdem Aufruf des Kindes:
copy /b %LOGFILE%+%COPYPRO% %LOGFILE%
eingefügt.

Das Resultat sieht dann so aus:
prepare daily build installation: 11.07.2013:
15:38:39,06: daily build version: 11.07.2013 server and 11.07.2013 local are equal
15:38:39,31: delete local daily build data
15:38:39,72: local daily build data successful deleted
start copy process: 11.07.2013:
15:38:39,77: copy Client
15:38:58,02: Client successful copied
15:38:58,02: copy Server
15:39:39,78: Server successful copied
15:39:39,78: copy CLI
15:40:32,34: CLI successful copied
15:40:32,34: copy Runtime
15:41:27,56: Runtime successful copied
daily build installation successful prepared.

Unglaublich ... ich war schon dabei eine For-Schleife zu basteln ^_^

Herzlichen Dank nochmal..
Bitte warten ..
Mitglied: Endoro
11.07.2013, aktualisiert um 17:35 Uhr
Zitat von SaschaRD:
Unglaublich ... ich war schon dabei eine For-Schleife zu basteln ^_^

Das hab ich mal gemacht, es ging leichter als gedacht und ist durch die viele findstr Regex furchtbar langsam.
Ich klebe es mal hier rein, zur Warnung an spätere Generationen

01.
@ECHO OFF &SETLOCAL 
02.
SET "mainlog=main.log" 
03.
SET "childlogs=??.log" 
04.
 
05.
FOR %%a IN ("%childlogs%") DO ( 
06.
	SET "ftime=" 
07.
	FOR /f "tokens=1-3delims=:" %%b IN ('findstr "^[0-2][0-9]:[0-5][0-9]:[0-5][0-9],[0-9][0-9]:" "%%~a"') DO ( 
08.
		IF NOT DEFINED ftime ( 
09.
			SET "$%%b:%%c:%%d=%%a" 
10.
			SET "ftime=%%a" 
11.
12.
13.
14.
FOR /f "delims=" %%a IN ('findstr /n "^" "%mainlog%"') DO ( 
15.
	SET "line=%%a" 
16.
	SETLOCAL ENABLEDELAYEDEXPANSION 
17.
	SET "line=!line:*:=!" 
18.
	CALL :doline 
19.
	FOR /f "tokens=1*delims==" %%x IN ('SET "$"') DO (IF NOT "!"=="" ENDLOCAL)&SET "%%x=%%y" 
20.
21.
goto:eof 
22.
 
23.
:doline 
24.
SETLOCAL ENABLEDELAYEDEXPANSION 
25.
ECHO("!line!"|findstr "^.[0-2][0-9]:[0-5][0-9]:[0-5][0-9],[0-9][0-9]:" >nul|| (echo(!line!&goto:eof) 
26.
FOR /f "tokens=1-3delims=:" %%b IN ("!line!") DO SET "ltime=%%b:%%c:%%d" 
27.
FOR /f "tokens=1*delims=$=" %%a IN ('set "$"') DO ( 
28.
	IF "%ltime%" gtr "%%a" IF NOT "%%b"=="0" ( 
29.
		< "%%~b" MORE 
30.
		SET "$%%a=0" 
31.
32.
33.
ECHO(!line! 
34.
FOR /f "tokens=1*delims==" %%a IN ('SET "$"') DO (IF "!"=="" ENDLOCAL)&SET "%%a=%%b" 
35.
goto:eof
lg
Bitte warten ..
Ähnliche Inhalte
Windows Server

Zwei oder mehere GPOs zu einer zusammenführen

gelöst Frage von smartinoWindows Server2 Kommentare

Hallo, historisch gewachsen gibt es hier zu viele GPOs, die ich gerne der Übersichtlichkeit halber teilweise zusammenführen würde. Zwar ...

Internet

Gewisse Inhalte sperren

Frage von PlantbutcherInternet16 Kommentare

Ich weiß nicht, ob das Thema schon irgendwo angesprochen wurde. Habe dazu aber nichts gefunden Folgendes Problem habe ich ...

Batch & Shell

Löschen von Dateien und gewisse Dateien ausschließen

gelöst Frage von tommhiiBatch & Shell4 Kommentare

Hallo, ich kopiere mittels batch Dateien von einen Ordner ( Eingang) in einen anderen Ordner (Ausgang) dabei schließe ich ...

Batch & Shell

BATCH - Zeile(n) aus Log-Datei in eine Archiv-Datei nur wenn nicht vorhanden einlesen

gelöst Frage von BlattlausOGBatch & Shell18 Kommentare

Hallo, dieser Einzeiler fügt mir Zeile für Zeile den Inhalt von d:\log in d:\archiv.txt untereinander ein. Was muss geändert ...

Neue Wissensbeiträge
Erkennung und -Abwehr

Ups: Einfaches Nullzeichen hebelte den Anti-Malware-Schutzt in Windows 10 aus

Information von kgborn vor 9 StundenErkennung und -Abwehr

Windows 10 ist das sicherste Windows aller Zeiten, wie Microsoft betont. Insidern ist aber klar, das es da Lücken, ...

Windows 10

Windows 10 on ARM: von Microsoft entfernte Info - Klartext, was nicht geht

Information von kgborn vor 11 StundenWindows 10

Windows 10 on ARM ist ja eine neue Variante, die Microsoft im Verbund mit Geräteherstellern am Markt etablieren will. ...

Microsoft
TV-Tipp: Das Microsoft-Dilemma
Information von kgborn vor 11 StundenMicrosoft7 Kommentare

Aktuell gibt es in Behörden und in Firmen eine fatale Abhängigkeit von Microsoft und dessen Produkten. Planlos agieren die ...

Windows 10
Zero-Day-Lücke in Microsoft Edge
Information von kgborn vor 2 TagenWindows 10

In Microsofts Edge-Browser klafft wohl eine nicht geschlossene (0-Day) Sicherheitslücke im Just In Time Compiler (JIT Compiler) für Javascript. ...

Heiß diskutierte Inhalte
Windows 10
Windows 10 (1709) Tastur und Maus wieder einschalten?
Frage von LochkartenstanzerWindows 1026 Kommentare

Moin, Ich habe von einem Kunden einen Win10-Rechner bekommen, bei dem weder Tastatur noch Maus geht. Die Hardware funktioniert ...

Firewall
RB2011 Firewall Rule eine bestimmte Mac oder IP Adresse nicht zu blockieren
Frage von lightmanFirewall15 Kommentare

Hallo liebes Forum mit ihren Spezialisten. Ich habe meine Firewall so konfiguriert das kein Endgerät ohne meine Speziellen Erlaubnis ...

Humor (lol)
Was könnte man mit einem Server machen? Idee gesucht
Frage von 2SeitenHumor (lol)15 Kommentare

Hey Zusammen Ich habe einen alten HP G2 Rackserver zu Hause rumliegen. 28GB Ram, 1xAMD Prozi mit etwa 2GHz. ...

Webbrowser
Welcher Browser ist der Beste?
Frage von justtinWebbrowser13 Kommentare

Hallo Leute Ich habe eine interessante Frage. Mich wurde mal interessieren welcher Browser ist eure meinung nach der beste? ...