flolin
Goto Top

Logfiles mittels Batch prüfen und Warnung per Mail

Hey Leute, bräuchte bitte dringend Eure Hilfe in Sachen Batchscripting.

Ich bräuchte ein Batch-Script, das meine Logfiles (TXT-Dateien) auf ein bestimmtes Wort prüft und dann
eine Mail schickt. Der Clou daran ist, das aber, sollte schon mal eine Mail betreffend des Stichwortes in
dieser Zeile geschickt worden sein kein zweites Mal kommt, sondern erst wieder wenn dem Log eine
neue Zeile mit dem Stichwort hinzugefügt wird.

Könnt Ihr mir da helfen? Also mit findstr hab ich schon probiert, aber mein Problem ist das, das immer
alle Zeilen, in denen das Stichwort vorkommt Ausgegeben werden.


Danke schon Mal im Vorhinein.


LG,
FloLin

Content-ID: 184158

Url: https://administrator.de/forum/logfiles-mittels-batch-pruefen-und-warnung-per-mail-184158.html

Ausgedruckt am: 22.12.2024 um 20:12 Uhr

bastla
bastla 26.04.2012 um 12:39:43 Uhr
Goto Top
Hallo flolin!

Und wenn Du
findstr /n
verwendest und die höchste Zeilennummer zwischenspeicherst?

Grüße
bastla
flolin
flolin 26.04.2012 um 12:42:51 Uhr
Goto Top
Zitat von @bastla:
Hallo flolin!

Und wenn Du
findstr /n
> 
verwendest und die höchste Zeilennummer zwischenspeicherst?

Grüße
bastla

Hallo Bastla,

danke für den Tipp.
Hab allerdings im Batch-Scripten zwei linke Hände....


Grüße
flolin
bastla
bastla 26.04.2012 um 12:49:53 Uhr
Goto Top
Hallo flolin!

Etwa so (ungetestet):
@echo off & setlocal
set "Log=D:\Log.txt"  
set "Ges=D:\Gesendet.txt"  
set "Such=Bestimmtes Wort"  

for /f "tokens=1* delims=:" %%i in ('findstr /n /c:"%Such%" "%Log%"') do set "Letzte=%%i" & set "Text=%%j"  
set /a Gesendet=0
if exist "%Ges%" set /p Gesendet=<"%Ges%"  
if %Gesendet%==%Letzte% goto :eof

>"%Ges%" echo %Letzte%  
echo hier Mailversand ...
Grüße
bastla