markus-tausendfreund
Goto Top

Textzeile mit 2 Parametern auswerten

Hallo,

vielleicht könnt Ihr mir weiterhelfen ich bin dabei meine Logfiles der XML Im- und Exporte auszuwerten. Grund hierfür sind in einem neuen System Fehler aufzudecken. Ich möchte Zeilen zählen die einen bestimmten Inhalt enthalten die in der Mitte und Ende einen bestimmten Text enthalten.

Das Textfile setzt sich aus folgenden Zeilen zusammen:

20081006 09:58:25:796 - 03836 - INF Inserted address adrId:282092 customerId:I21:I282618 in CSM
20081006 09:58:25:796 - 03836 - INF Inserted address adrId:282092 customerId:I21:I282618 in CSM_NF
20081006 09:58:25:702 - 03836 - INF Reset address adrId:281329 customerId:I21:I282616 in CSM
20081006 09:58:25:702 - 03836 - INF Updated address data adrId:281329 customerId:I21:I282616 in CSM
20081006 09:56:09:592 - 03836 - INF DbUpdateAddress(customer:I21:I273758):the address 2272 is 7, updating
20081006 09:56:09:592 - 03836 - INF Reset adr_imp_timestamp for address adrId:2272 customerId:I21:I273758 in CSM_NF
20081006 09:56:09:592 - 03836 - INF Updated address data adrId:2272 customerId:I21:I273758 in CSM_NF


Hier ein Ausschnitt der Auswertung um die es sich dreht:

@echo off & setlocal
FOR /F "tokens=1,2,3,4 delims=/. " %%a in ('date/T') do set Datum=%%c%%b%%a
set "Quelle=O:\Programme\DM\Log"
set "xc=0"
set "xd=0"


:menue
dir O:\Programme\DM\Log\import*.log
dir O:\Programme\DM\Log\export*.log
Set /p "NRA=ImportNr [000XX] :"
Set /p "NRB=ExportNr [000XX] :"
for /f "delims=" %%s in ('dir /b /od "%Quelle%\import%NRA%.log"') do call :ProcessFile "%Quelle%\%%s"

:ProcessFile
for /f "delims=" %%c in ('findstr /c:"Inserted " %1') do (set /a xc+=1)
for /f "delims=" %%d in ('findstr /c:"Reset " %1') do (set /a xd+=1)

echo updated: %xc%
echo inserted: %xd%

Da ich aber 2 unterschiedliche Fälle habe "CSM" und "CSM_NF" würde ich die gerne getrennt auswerten. Ich muss also nach dem Zeileninhalt "Reset " oder "Inserted " in Kombination mit "CSM" oder "CSM_NF" suchen.

Kann mir da jemand weiterhelfen.
Danke und Gruß
Markus

Content-ID: 98647

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

Ausgedruckt am: 22.11.2024 um 15:11 Uhr

bastla
bastla 07.10.2008 um 14:06:42 Uhr
Goto Top
Hallo markus-tausendfreund!

Ungetestet etwa so:
for /f "delims=" %%c in ('findstr /c:"Inserted " %1 ^|findstr /e "CSM"') do (set /a xc+=1)  
und analog dazu die anderen Kombinationen.

Grüße
bastla
markus-tausendfreund
markus-tausendfreund 07.10.2008 um 14:20:19 Uhr
Goto Top
Herzlichen Dank bastla,

schon nach 3 Minuten ne Antwort darauf zu bekommen. Funktioniert einwandfrei.

Gruß
Markus