Bonjour à tous,
Je bloque sur un détail de mon script. Le voici
Code BAT : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34 @echo off :: Ce script permet de tester le réseau local d'un client :: Déclaration des variables IP et MS, à saisir en exécutant le script set /p IP="Saisir une IP : " set /p MS="Valeur de test (en ms) : " cls :: Bloque de commentaire dans un fichier log et affichage à l'écran (echo Test Ping en cours vers %IP% echo Commencer le %date%, %time:~,8% echo. echo =============================== echo = NE PAS FERMER CETTE FENETRE = echo =============================== echo.) >> log_%IP%.txt | type log_%IP%.txt :: Boucle infini : commande ping avec 1 paquet :: Si erreur le script log :: Si pas d'erreur le script log les résultats supérieur ou égal à la valeur de test en ms :: La boucle se relance toutes les secondes ::loop for /f "tokens=7 delims==+<+ " %%a in ('ping.exe -n 1 %IP% ^| findstr /i /c:"temps"') do ( if %%a == "" ( echo "%date% %time:~,8% Ne repond pas" >> log_%IP%.txt ) ELSE ( if %%a GEQ %MS% ( echo "%date% %time:~,8% ms=%%a" >> log_%IP%.txt ) ) ) timeout /t 1 > NUL ::goto loop
La condition if %%a == "" ne marche pas.
J'ai essayé avec un errorlevel et idem. Il détecte que tout va bien.
Je pense ne pas faire d'erreur de syntax mais il doit sûrement me manquer des connaissances.
Merci
Partager