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

Auslesen bestimmter Werte aus Logfile mittels Batch

Mitglied: tkline

tkline (Level 1) - Jetzt verbinden

19.03.2008, aktualisiert 15:28 Uhr, 4647 Aufrufe, 3 Kommentare

Hallo Leute, hab folgendes Problem:

Ich möchte aus dem angegebenen Logfile (Auszug siehe unten), welches
aus tausenden von Einträgen besteht. Die "Warning" Einträge, welche
den Text "Datei wurde übersprungen, wegen falschem Inhalt" enthält herausfiltern.

Soweit so gut. Das Script habe ich soweit schon vorbereitet siehe
unten. Ich möchte jedoch die folgenden Warning Meldungen, die nach diesem Eintrag
kommen auch mit ausgeben, so dass das Endergebnis folgendermaßen aussieht:

WARNING ( 1717,188): Datei wurde übersprungen, wegen falschem Inhalt
WARNING ( 1717,204): 2005659/01
WARNING ( 1717,204): 1330565_VG01_1853382/03
WARNING ( 1717,204): 2031936_BM0D_1853394/00

Das Schwierige hierbei ist, dass ich nicht weiss wie viele Einträge folgen. Es können
wie im Beispiel 3 oder auch mehr sein.
Gibt es hierzu eine Lösung.
Evtl.: Gebe mir den Warning Wert aus bis z.B. ein anderer Eintrag folgt z.B INFO oder ERROR...




Auszug aus Logfile:
---------------------snip----------------------------

INFO ( 0,243): super
INFO ( 0,564): Spitze
INFO ( 0,224): Klasse
INFO ( 0,344): Alles im Lot
DEBUG ( 0,435):
DEBUG ( 0,356): user.country = DE
DEBUG ( 0,234): sun.os.patch.level = Service Pack 2
DEBUG ( 0,698): path.separator = ;
DEBUG ( 0,687): user.country = DE
DEBUG ( 0,703): sun.os.patch.level = Service Pack 2
ERROR ( 425,423): Fehler 1
ERROR ( 433,423): Fehler 123
ERROR ( 435,345): Failure 457
ERROR ( 345,533): Fehler Nix gut
WARNING ( 1717,188): Datei wurde übersprungen, wegen falschem Inhalt
WARNING ( 1717,204): 2005659/01
WARNING ( 1717,204): 1330565_VG01_1853382/03
WARNING ( 1717,204): 2031936_BM0D_1853394/00
INFO ( 0,344): Alles im Lot
DEBUG ( 0,435):
DEBUG ( 0,356): user.country = DE
DEBUG ( 0,234): sun.os.patch.level = Service Pack 2
WARNING ( 1435,188): Datei nicht gefunden
WARNING ( 1245,203): 243524
WARNING ( 1245,243): 234524352
WARNING ( 1245,244): 234523452345

---------------------snip----------------------------

01.
 
02.
@echo off & setlocal 
03.
set "Summary=C:\logsummary.txt" 
04.
set "Filter=Datei wurde übersprungen, wegen falschem Inhalt" 
05.
 
06.
if exist "%Summary%" del "%Summary%" 
07.
for %%i in (C:\logs\logfilename.txt) do ( 
08.
	findstr /c:"%Filter%" "%%i">nul && ( 
09.
		echo Logfilename: %%i 
10.
		for /f "delims=" %%a in ('findstr /c:"%Filter%" "%%i"') do echo %%a 
11.
		echo. 
12.
	)>>"%Summary%" 
13.
echo %%i 
14.
15.
 
16.
 
17.
pause 
18.
 

Hoffe ihr könnt mir hier weitgerhelfen


Grüße
Tom
Mitglied: miniversum
19.03.2008 um 14:31 Uhr
Versuchs mal damit:
01.
@echo off & setlocal 
02.
set "Summary=C:\logsummary.txt" 
03.
set "Filter=Datei wurde übersprungen, wegen falschem Inhalt" 
04.
 
05.
for /f "delims=:" %%a in ('findstr /N /c:"%Filter%" "C:\logs\logfilename.txt"') do call:writelines %%a 
06.
pause 
07.
goto:eof 
08.
 
09.
 
10.
:writelines 
11.
set zeile=%1 
12.
set "ausgabe=%random%%random%%random%" 
13.
for /f "tokens=1,* delims=:" %%a in ('findstr /N .* "C:\logs\logfilename.txt"^|findstr /B %zeile%') do set ausgabe=%%b 
14.
if "%Ausgabe:~0,7%" neq "WARNING" goto:eof 
15.
 
16.
echo %ausgabe% 
17.
set /a zeile=zeile+1 
18.
call:writelines %zeile% 
19.
 
20.
goto:eof
miniversum
Bitte warten ..
Mitglied: tkline
19.03.2008 um 15:07 Uhr
Danke dir,

Habe allerdings noch 2 Fragen:
Die Ausgabe ins logsummary.txt funkioniert nicht. Brauch hier noch
>>"%Summary%" Wo bringe ich das in deinem Script unter?

2. Wie muss ich das Skript ändern, wenn ich mehrer Logfiles durchsuchen lasse?
Wenn ich C:\logs\*.txt eingebe, dann bekomme ich keine Ausgabe.

Grüße
Tom
Bitte warten ..
Mitglied: miniversum
19.03.2008 um 15:28 Uhr
Ja das war nur der prinzipielle Teil.
Das ganze müßte dan so aussehen (ungetestet)
01.
@echo off & setlocal 
02.
set "Summary=C:\logsummary.txt" 
03.
set "logfilefilter=C:\logs\*.txt" 
04.
set "Filter=Datei wurde übersprungen, wegen falschem Inhalt" 
05.
 
06.
if exist "%Summary%" del "%Summary%" 
07.
for /f "delims=:" %%f in ('dir /B /a-D "%logfilefilter%"') do ( 
08.
echo Logfilename: %%~nxf>>%Summary% 
09.
for /f "delims=:" %%a in ('findstr /N /c:"%Filter%" "%%~ff"') do call:writelines %%a "%%~ff" 
10.
11.
pause 
12.
goto:eof 
13.
 
14.
 
15.
:writelines 
16.
set zeile=%1 
17.
set "logfilename=%~2" 
18.
set "ausgabe=%random%%random%%random%" 
19.
for /f "tokens=1,* delims=:" %%a in ('findstr /N .* "%logfilename%"^|findstr /B %zeile%') do set ausgabe=%%b 
20.
if "%Ausgabe:~0,7%" neq "WARNING" goto:eof 
21.
 
22.
echo %ausgabe%>>%Summary% 
23.
set /a zeile=zeile+1 
24.
call:writelines %zeile% 
25.
 
26.
goto:eof
Bitte warten ..
Ähnliche Inhalte
Batch & Shell

Batch soll Informationen aus Logfiles auslesen

gelöst Frage von Eichhorn63Batch & Shell8 Kommentare

Hallo, Ich bin neu im Forum und habe folgende Frage: Aus mehreren, jeweils über 1000 Zeilen großen Logfiles sollen ...

Batch & Shell

Bestimmte Zeile einer Textdatei mit Batch auslesen

gelöst Frage von PinkFLuffyUnicornBatch & Shell2 Kommentare

Hi, ich habe ein kleines Batch Script, welches mir den Status der Firewall ausgeben soll(ob an oder aus) der ...

Batch & Shell

Bestimmte CMD Zeile aus Batch auslesen

gelöst Frage von BatchAnfaenger91Batch & Shell5 Kommentare

Hallo ihr Lieben, habe seit dem neusten Batch Sprache kennengelernt und bin dabei ein Batch Skript zu schreiben ich ...

Batch & Shell

Datumbezogenes Auslesen von Logfiles

gelöst Frage von tiny.deluxeBatch & Shell2 Kommentare

Hallo zusammen, ich bin neu hier im Forum und habe ein Problem mit einem Batch. Es geht darum ein ...

Neue Wissensbeiträge
CMS
Erneut kritische Zero-Day-Lücke in Drupal
Tipp von Reini82 vor 8 StundenCMS

Laut einem Bericht auf t3n gibt es eine Schwere Sicherheitslücke in Drupal die auch schon ausgenutzt wird. Betroffen sind ...

Sicherheit

MikroTik-Router patchen, Schwachstelle wird ausgenutzt

Information von kgborn vor 1 TagSicherheit

Am 23. April 2018 wurde von Mikrotik ein Security Advisory herausgegeben, welches auf eine Schwachstelle im RouterOS hinwies. Mikrotik ...

Windows 10

Microcode-Updates KB4090007, KB4091663, KB4091664, KB4091666 für Windows 10

Information von kgborn vor 1 TagWindows 101 Kommentar

Kurze Information für Administratoren von Windows 10-Systemen, die mit neueren Intel CPUs laufen. Microsoft hat zum 23. April 2018 ...

iOS
Updates für Iphone und Co
Information von sabines vor 1 TagiOS

Gestern abend ist iOS 11.3.1 erschienen, ein kleineres Update, dass einige Lücken schließt und "Lahmlegen" nach einem Display Tausch ...

Heiß diskutierte Inhalte
Windows Server
Alten DC entfernen
gelöst Frage von smartinoWindows Server27 Kommentare

Hallo zusammen, ich habe hier eine Umgebung übernommen und erstmal einen DCDIAG gemacht. Dabei fällt auf, daß eine ganze ...

Ausbildung
Wie gelingt ein guter Einstieg in die FiSi-Ausbildung? (Umschulung)
Frage von SiAnKoAusbildung26 Kommentare

Schönen guten Tag, ich bin SiAnKo und habe seit dem 1.04.2018 eine Umschulung als FiSi angefangen. Ich möchte natürlich ...

Batch & Shell
Mit Powershell den Inhalt einer Excel mit einer Text Datei abgleichen
gelöst Frage von Bommi1961Batch & Shell21 Kommentare

Hallo zusammen, ich muss den Inhalt einer Excel Datei (Mappe1) mit dem Daten einer Text Datei abgleichen. Die Daten ...

Windows 10
Unter Windows 10 Home 64Bit (1709) kommt Fehler beim Aufruf von verschiedenen Systemprogrammen wie z.B. Gerätemanager
Frage von bitshopWindows 1017 Kommentare

Hallo, beim meinem Onkel haben wir seit längerem das Problem, dass z.B. beim Aufruf des Gerätemanagers eine Fehlermeldung kommt ...