vorlon
Goto Top

Textzeilen mit einem bestimmten Stichwort per Batch auslesen

Guten Morgen an alle die mehr vom Batch-Skripting verstehen als ich! face-wink

Ich bin mal wieder an einem Punkt angekommen wo mir die bisherigen Post hier
und die Gogglefunde im Internet nicht mehr weiter helfen.

Ich habe mehrere Robocopy-Logs die ich nachts von einer Batchdatei auf Fehler
überprüfen lasse und finde dann morgens eine Zusammenfassung auf meinem Desktop
welche Jobs mit einem errorlevel größer als 3 beendet wurden und "Aufmerksamkeit" erfordern.

In der Regel fange ich dann an die sehr großen Logdateien mit einem Texteditor nach dem
Begriff "Fehler:" zu durchsuchen um zu sehen welche einzelnen Dateien nicht gesichert wurden.

Ich suche daher nach einer Möglichkeit die Logdateien per Batch nach dem Begriff Fehler: zu durchsuchen
und dann die entsprechende Zeile in eine andere txt-Datei zu kopieren.

Für alle Lösungsansätze die ich bisher probiert habe benötige ich aber die entsprechenden Zeilennummern,
die ich nicht habe und per findstr /m kann ich nur das Vorhandensein von Fehler: feststellen.

Irgendwie stehe ich bei dieser Sache auf dem Schlauch...
Falls jemand von euch Licht in mein Dunkel bringen kann wäre ich sehr sehr dankbar!

Content-ID: 256173

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

Ausgedruckt am: 22.11.2024 um 05:11 Uhr

114757
Lösung 114757 28.11.2014, aktualisiert am 30.11.2014 um 16:36:17 Uhr
Goto Top
find "Fehler:" C:\logs\*.log >"c:\logs\errors.txt"

Gruß jodel32
SeriousEE
Lösung SeriousEE 28.11.2014, aktualisiert am 30.11.2014 um 16:36:20 Uhr
Goto Top
Guten Morgen,

Evt. mit

  @echo off
  find "Fehler:" <Log>.log > ErrorReport.log  

Liefert bei mir die gewünschten Zeilen samt Text.

Mit freundlichen Grüßen
Vorlon
Vorlon 28.11.2014 um 18:00:08 Uhr
Goto Top
Danke für die Antworten, funktioniert soweit wie erhofft, jede Zeile mit dem Suchbegriff erscheint in der Ausgabedatei.

Allerdings habe ich da noch ein kosmetisches Problem, bei dem ich nicht weis wo es her kommt...
Vor den Zeilen mit dem Suchbegriff wird in der Ausgabedatei noch eine Zeile nach folgendem Schema eingefügt:

\\SERVER\BACKUP-LOGS\1469L\FIBU-SERVER\2014\LOGFILE 28.11.2014 - 2-04 UHR (ROOT).LOG

Vorne 10 Bindestriche und dann der UNC-Pfad der Logdatei, ich bin wirklich mal wieder ratlos!

Dies ist die relevante Zeile in meiner Batch:
find "(0x00000020)" "%logfilehomepath%\%KdNr%\%PCname%\%date:~-4%\%logfile%">>%errorfile%
Endoro
Lösung Endoro 29.11.2014, aktualisiert am 30.11.2014 um 16:36:22 Uhr
Goto Top
Hey,
das ist die Meldung von find, damit du weisst, in welcher Logdatei der Fehler gefunden wurde. Wenn das stört, mach es so:
<"%logfilehomepath%\%KdNr%\%PCname%\%date:~-4%\%logfile%" find "(0x00000020)" >>"%errorfile%"  
Gruss, Endoro
Vorlon
Vorlon 30.11.2014 um 16:36:02 Uhr
Goto Top
Mein grundlegendes Problem wäre damit gelöst! Vielen Dank!!!
Ich werde das Feintuning nächstes WE mal ausprobieren, da mir aktuell die Zeit fehlt.