logdatei vom Ende her abfragen
ich möchte nur die letzten 100 Zeilen einer Logdatei nach einem String (z.Bsp. Fehlermeldung) durchsuchen
Hallo zusammen,
ich habe ein dickes Startskript in meinem Netzwerk. Die Ausgabe des Skripts wird per Umleitung direkt nach c:\pc-update.log auf dem jeweiligen Rechner geschrieben und an das bereits vorhandene log angehängt.
Im Skript werden per xcopy einige Dateien auf den Rechner kopiert. Den Fall, dass er eine Datei nicht kopieren konnte möchte ich abfragen, indem ich irgendwie in der art:
eine Fehlerdatei pro Rechner mit dem Problem erstelle.
Allerdings hab ich da genau 1 Problem:
Da ich nicht auf die history in der pc-update.log verzichten will, möchte ich nur den Teil der pc-update.log auswerten, der als letztes dazugekommen ist.
Also ich möchte von der Logik her meinen Findstring nur über die letzten 100 Zeilen meines Logfiles machen.
machbar?
Vielen Dank schonmal
Hallo zusammen,
ich habe ein dickes Startskript in meinem Netzwerk. Die Ausgabe des Skripts wird per Umleitung direkt nach c:\pc-update.log auf dem jeweiligen Rechner geschrieben und an das bereits vorhandene log angehängt.
Im Skript werden per xcopy einige Dateien auf den Rechner kopiert. Den Fall, dass er eine Datei nicht kopieren konnte möchte ich abfragen, indem ich irgendwie in der art:
*schnipsel*
net view >netz.txt
FOR /F "tokens=1,2* delims=\ " %%I in (netz.txt) do findstr /C:"0 Datei(en) kopiert." \\%%I%%J\c$\pc-update.log>>%%I%%J.txt
eine Fehlerdatei pro Rechner mit dem Problem erstelle.
Allerdings hab ich da genau 1 Problem:
Da ich nicht auf die history in der pc-update.log verzichten will, möchte ich nur den Teil der pc-update.log auswerten, der als letztes dazugekommen ist.
Also ich möchte von der Logik her meinen Findstring nur über die letzten 100 Zeilen meines Logfiles machen.
machbar?
Vielen Dank schonmal
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 40706
Url: https://administrator.de/contentid/40706
Ausgedruckt am: 05.11.2024 um 08:11 Uhr
2 Kommentare
Neuester Kommentar
Hallo,
das klingt ganz nach
tail -100 [Dateiname]
Das Tool findest du bei cygwin, vielleicht im RessourceKit oder http://unxutils.sourceforge.net/
Viele Grüsse
-= Axel =-
das klingt ganz nach
tail -100 [Dateiname]
Das Tool findest du bei cygwin, vielleicht im RessourceKit oder http://unxutils.sourceforge.net/
Viele Grüsse
-= Axel =-
Moin kugman,
solltest Du aus irgendwelchen Gründen keine tail-Tools nutzen wollen oder dürfen, dann so ändern:
Gruß
Biber
P.S. Inhaltlicher Änderungsvorschlag:
Nur etwas schreiben, wenn der Suchstring " 0 Datei(en) kopiert." auch gefunden wurde.
solltest Du aus irgendwelchen Gründen keine tail-Tools nutzen wollen oder dürfen, dann so ändern:
::---snipp FindInLast100lines.bat
@echo off & setlocal
FOR /F "tokens=1,2* delims=\ " %%I in ('net view') do call: lookupLast100 \\%%I%%J\c$\pc-update.log
goto :eof
:lookupLast100 Para1=pc-update-log-Location Para2=~rechner~.txt
for /f "tokens=3" %%i in ('find /v /c "$§$" "%~s1"') do @set /a last100=%%~i-100
If %last100% LSS 1 set last100=1
@more /e +%last100% "%~1" |findstr /C:" 0 Datei(en) kopiert.">>%2
goto :eof
Gruß
Biber
P.S. Inhaltlicher Änderungsvorschlag:
Nur etwas schreiben, wenn der Suchstring " 0 Datei(en) kopiert." auch gefunden wurde.
...
(more /e +%last100% "%~1" |findstr /C:" 0 Datei(en) kopiert.">nul) && echo %date% Kopierfehler!>>%2
...