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:
erhalte ich schon einmal eine txt in der alle ERROR Meldungen mit dem Log aufgeführt werden.
und mit :
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
mit:
findstr /ic:"ERROR" "F:\Ordner\*.log" >"Protokoll.txt"
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"
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
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
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
3 Kommentare
Neuester Kommentar
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
Gruß
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"
)
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 . 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.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.
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 .sorry ich bin noch Neuling was Batch Skripte angeht.
Das lässt sich ändern!Tutorial zur FOR-Schleife