wtaler
Goto Top

Batch soll Mail versenden, wenn der Ausdruck zur Filterung aus der Datei vorhanden ist

Meine bisherige Batch-Datei erfüllt nicht mehr den Zweck und ich bitte Euch wieder mal um eine Lösung

Guten Tag,

im Moment habe ich eine Batch-Datei mit dem nachfolgenden Inhalt:

@echo off &setlocal
for /f "token=*" %%i in('echo %~3^|findstr /g:c\aus1.txt') do goto :eof
chcp 1252
echo Am %date% um %time:~0,8% gab es folgende Maschinenmeldung.: %3 %4>>c:\mail.txt
c:\blat.exe... (Hier kommt Mailversendung die auch funktioniert)

abgearbeitet und die Meldungen mit den Ausfilterungen werden nicht übertragen bzw. die Batchdatei beendet den Ablauf.

Leider ist der Aufwand zur Erfassung der Filterwörter sehr hoch, so dass ich nur noch Mails mit den 30 Wörtern aus der Datei "aus1.txt" als Maschinenmeldung per Email versenden will, die eine besondere Prio haben.

Wie sieht die Änderung in der for - do Schleife aus? Reicht ein "nicht" vor dem in ('echo... ) aus?

Viele Grüße

Christoph

Content-Key: 124029

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

Ausgedruckt am: 28.03.2024 um 22:03 Uhr

Mitglied: bastla
bastla 02.09.2009 um 13:03:40 Uhr
Goto Top
Hallo wtaler!

Wenn Du auf "Whitelist" umstellen willst, sollte das (allerdings ungetestet) so funktionieren:
@echo off &setlocal
echo %~3|findstr /g:c\aus1.txt>nul || goto :eof
chcp 1252
echo Am %date% um %time:~0,8% gab es folgende Maschinenmeldung.: %3 %4>>c:\mail.txt
c:\blat.exe... (Hier kommt Mailversendung die auch funktioniert)
Grüße
bastla