retkar
Goto Top

Batch Skript Logs nach Errorn durchsuchen und Anschließend die Logs die ERROR enthalten per Mail als anhang versenden

Wie der Titel bereits sagt würde ich gerne ein Batch Skript schreiben das die Logs nach ERROR durchsucht. Wenn ERROR enthalten ist, im besten Fall die Meldung als Inhalt mit dem Log Name in den Inhalt der Mail und den Log als Anhang in die Mail hängen.

mit:
findstr /ic:"ERROR" "F:\Ordner\*.log" >"Protokoll.txt"  
erhalte ich schon einmal eine txt in der alle ERROR Meldungen mit dem Log aufgeführt werden.

und mit :
"F:\..\sas.exe" -Batch -noterminal -logparm "x=y" -sysin "F:\...\mailsenden.sas" set betreff "Betreff" -set email "email@gmx.de" -set text "Error" -set anhang "F:\..\xy.log"  
bekomme ich eine Mail zugeschickt. jedoch ist der Anhang hierbei nur das Log das ich am ende mit anhänge.
Wäre es möglich hier die Log´s anzuhängen in denen die Fehlermeldung ERROR aufgetaucht ist ? und im Bestfall den text der Email auf die Fehlermeldung mit log Name aus der Protokoll.txt zu ändern ?
wichtiger ist jedoch erstmal das versenden des richtigen Anhangs.

MfG
Retkar

Content-ID: 337180

Url: https://administrator.de/forum/batch-skript-logs-nach-errorn-durchsuchen-und-anschliessend-die-logs-die-error-enthalten-per-mail-als-anhang-337180.html

Ausgedruckt am: 23.12.2024 um 04:12 Uhr

132895
132895 09.05.2017 aktualisiert um 12:51:01 Uhr
Goto Top
Steht zwar schon alles im letzten Thread aber naja dann halt nochmal als Batch:
Für das Programm was du zum Mailversand nutzt gebe ich keine Gewähr das kenne ich nicht
@echo off
for /f "tokens=1,* delims=:" %%a in ('findstr /ic:"ERROR" "F:\Ordner\*.log" 2^>nul') do (  
"F:\..\sas.exe" -Batch -noterminal -logparm "x=y" -sysin "F:\...\mailsenden.sas" set betreff "ERROR found in Logfile: %%a" -set email "email@gmx.de" -set text "Error: %%b" -set anhang "%%a"  
)
Gruß
Retkar
Retkar 09.05.2017 aktualisiert um 16:18:40 Uhr
Goto Top
noch mals vielen dank,
jedoch bekomme ich keine email mehr mit der Änderung ich habe das Gefühl das er erst gar nicht in das for geht.
Getestet habe ich es einfach indem ich den Standard Code dahinter kopiert habe und dennoch keine E-Mail mehr ankommt.

habe ich vielleicht eine andere Möglichkeit ? oder muss da noch etwas vor die for Anweisung damit diese funktionier ?

sorry ich bin noch Neuling was Batch Skripte angeht.

Grüße Retkar
132895
132895 09.05.2017 aktualisiert um 16:51:40 Uhr
Goto Top
Zitat von @Retkar:

noch mals vielen dank,
jedoch bekomme ich keine email mehr mit der Änderung ich habe das Gefühl das er erst gar nicht in das for geht.
Dann findet er dein "ERROR" nicht, ganz einfach face-wink. Es gibt also entweder keine Datei mit diesem Wort in deinem Verzeichnis, die Files sind mit Unicode/UTF-8 kodiert oder du hast bei der Pfadangabe einen Fehler.
Getestet habe ich es einfach indem ich den Standard Code dahinter kopiert habe und dennoch keine E-Mail mehr ankommt.
s.o.
habe ich vielleicht eine andere Möglichkeit ? oder muss da noch etwas vor die for Anweisung damit diese funktionier ?
Das funktioniert, genauso wie mein Code im letzten Beitrag... du machst es nur einfach falsch face-wink.
sorry ich bin noch Neuling was Batch Skripte angeht.
Das lässt sich ändern!
Tutorial zur FOR-Schleife