Batch, Skriptování, Windows

Výpis chyb v tiskových frontách do e-mailu 2

Vylepšená verze http://www.strachota.net/vypis-chyb-v-tiskovych-frontach-do-e-mailu/, která každou jedinečnou chybu pošle pouze jednou.
set log=c:\scripts\tiskovefronty\chyba1.log
set templog=c:\scripts\tiskovefronty\chyba2.log
set semafor=c:\scripts\tiskovefronty\semafor.dat
set mail_od=print.spooler@%userdnsdomain%
set mail_komu=admin@%userdnsdomain%
set mail_server=10.50.201.95
 
if not exist %semafor% (echo 0 > %semafor%)
 
set stavfronty=wmic printjob where "status like 'error'" get document, owner, name, hostprintqueue, status, timesubmitted, totalpages
set poslimail=postie -host:%mail_server% -to:%mail_komu% -from:%mail_od% -s:"Spooler error" -msg:"Prilozen log"
 
%stavfronty% > "%log%"
for /f %%a in (semafor.dat) do (set stavsemaforu=%%a)
if %stavsemaforu% == 1 goto jechyba
 
:nenichyba
%stavfronty% > "%log%"
type "%log%" | findstr /i "error"
if errorlevel 1 (
echo 0 > %semafor%
) else (
echo 1 > %semafor%
%poslimail% -a:"%log%"
)
goto konec
 
:jechyba
%stavfronty% > "%templog%"
fc "%templog%" "%log%"
if errorlevel 1 (
%poslimail% -a:"%templog%"
goto konec
) else (
goto :testchyby
)
 
:testchyby
type "%templog%" | findstr /i "error"
if errorlevel 1 (
echo 0 > %semafor%
) else (
echo 1 > %semafor%
)
 
:konec

Napsat komentář

*

*povinné položky - email nebude zobrazen