Page 1 sur 1

comparer un résultat dans un fichier et remonter une alerte

Posté : 17 févr. 2009 16:19
par bomonde
Le script que j'ai fais (en fin de mail) me donne le résultat suivant dans mon fichier "bandeau.txt" :

---------- C:\TEMP\NBRE-DE-CLOSEWAIT-SUR-PORTS-4700.TXT: 0
Tue 02/17/2009 14:15:00.58

J'aimerai savoir comment faire pour que j'ai une erreur qui remonte des que le resultat est à 0

Merci d'avance.

Ci-dessous mon script.(y a mieux mais ca marche lol)

Code : Tout sélectionner

netstat -an | find /n "4700"  >> netstat.txt 
findstr /r /n /s "4700" "CLOSE_WAIT" C:\temp\netstat.txt > C:\temp\nbre-de-CLOSEWAIT-sur-ports-4700.txt
find /C "test.txt" C:\temp\nbre-de-CLOSEWAIT-sur-ports-4700.txt >> C:\temp\bandeau.txt
echo %date% %time% >> bandeau.txt
del netstat.txt  nbre-de-CLOSEWAIT-sur-ports-4700.txt

Re: comparer un résultat dans un fichier et remonter une alerte

Posté : 17 févr. 2009 16:22
par bomonde
des que le resultat est different de '0' je voulais dire dans mon message ci-dessus.

Re: comparer un résultat dans un fichier et remonter une alerte

Posté : 17 févr. 2009 18:52
par Batch_Man
Salut !

Non testé:

Code : Tout sélectionner

@echo off

For /f "tokens=*" %%a in ('type "bandeau.txt" ^| Find "------"') do (
     for /f "tokens=2 delims=." %%i in ('echo %%a') do (
          if /i "%%i"=="TXT: 0" echo %%a: ERREUR)
               )
                    )
pause
Batch_Man

Re: comparer un résultat dans un fichier et remonter une alerte

Posté : 18 févr. 2009 16:51
par bomonde
en fait bacth man c'est des que le résultat est superieur à 50

decidement je vais y arriver lol

Re: comparer un résultat dans un fichier et remonter une alerte

Posté : 18 févr. 2009 20:06
par Batch_Man
Bonsoir,

Essaye ceci:

Code : Tout sélectionner

For /f "tokens=*" %%a in ('type "bandeau.txt" ^| Find "------"') do (
     for /f "tokens=4 delims=: " %%i in ('echo %%a') do (
          if %%i GTR 50 echo %%a - ERREUR)
               )
                    )
Batch_Man

Re: comparer un résultat dans un fichier et remonter une alerte

Posté : 20 févr. 2009 16:28
par bomonde
ca marche en effet mais comment rediriger les erreurs dans un fichiers erreur.txt par exemple

Re: comparer un résultat dans un fichier et remonter une alerte

Posté : 20 févr. 2009 18:33
par Batch_Man
Voilà

Code : Tout sélectionner

For /f "tokens=*" %%a in ('type "bandeau.txt" ^| Find "------"') do (
     for /f "tokens=4 delims=: " %%i in ('echo %%a') do (
          if %%i GTR 50 echo %%a - ERREUR >> erreur.txt)
               )
                    )

Re: comparer un résultat dans un fichier et remonter une alerte

Posté : 21 févr. 2009 17:36
par bomonde
C'est OK avec le script ci-dessous

Set OK=%date% %time% ---- NB.CLOSEWAIT:4700 [0] ^>bandeau.txt
Set KO=%date% %time% ------ [ALERT] ------- ^>ko-bandeau.txt
::-
netstat -an |Find "4700"|Find "CLOSE_WAIT">NUL &&Echo.%KO% ||Echo.%OK%
Pause

Merci à tous pour votre aide.. (spécialement à toi batchman :o) )

Re: comparer un résultat dans un fichier et remonter une alerte

Posté : 21 févr. 2009 18:05
par Batch_Man
Bonjour,

Je trouve que mon code est beaucoup plus propre !
Et en plus il ne se trompera jamais :D

Batch_Man