我制作了一个用于测试公司本地网络的脚本。它有效,但不是我想要的。
如果确定另一个ping测试时间(> = 30ms),则执行1次ping操作。所以它在我的循环中执行2次ping。
如果只有> = 30ms,如果nok log。
,我想要1 ping如何增强此脚本?
set /p IP="Saisir une IP : "
:loop
ping.exe -n 1 %IP% | find "TTL" > NUL
if %errorlevel% == 0 for /f "tokens=7 delims==+<+ " %%i in ('ping.exe -n 1 %IP% ^| findstr /i /c:"temps"') do if %IP% GEQ 30 echo "%date% %time:~,8% ms=%%i" >> log_%IP%.txt
if %errorlevel% == 1 echo "%date% %time:~,8% Ne repond pas" >> log_%IP%.txt
timeout /t 1 > NUL
goto loop
由于
答案 0 :(得分:0)
Essayeça:
@echo off
set /p IP="Saisir une IP : "
:loop
for /f "tokens=6 delims==ms" %%a in ('ping.exe -n 1 %IP% ^| find "TTL"') do if %%a GEQ 30 echo "%date% %time:~,8% ms=%%a"
timeout /t 1 > NUL
goto:loop
答案 1 :(得分:0)
Salut,merci de ton aide maismalheureusementçanemarche pas。
Si Ping&gt; 30ms il fautqueçalog,ex:
Test Ping en cours vers 8.8.8.8
Commencer le 29/06/2017, 16:02:26
===============================
= NE PAS FERMER CETTE FENETRE =
===============================
"29/06/2017 16:02:27 ms=70"
"29/06/2017 16:02:28 ms=94"
Et si ping KO,例如:
Test Ping en cours vers 192.192.192.192
Commencer le 29/06/2017, 16:05:58
===============================
= NE PAS FERMER CETTE FENETRE =
===============================
"29/06/2017 16:06:02 Ne repond pas"
"29/06/2017 16:06:06 Ne repond pas"
Si ping OK al rien dans le log
答案 2 :(得分:0)
致@Banee Ishaque K
当然我可以,这里是整个剧本
@echo off
set /p IP="Type an IP : "
cls
(echo Test Ping in progress to %IP%
echo Start at %date%, %time:~,8%
echo.
echo ============================
echo = DON T CLOSE THIS WINDOWS =
echo ============================
echo.) >> log_%IP%.txt | type log_%IP%.txt
:loop
ping.exe -n 1 %IP% | find "TTL" > NUL
if %errorlevel% == 0 for /f "tokens=7 delims==+<+ " %%i in ('ping.exe -n 1 %IP% ^| findstr /i /c:"time"') do if %IP% GEQ 30 echo "%date% %time:~,8% ms=%%i" >> log_%IP%.txt
if %errorlevel% == 1 echo "%date% %time:~,8% Not working" >> log_%IP%.txt
timeout /t 1 > NUL
goto loop
答案 3 :(得分:0)
感谢所有人的贡献,我回应了自己。
这里是完整的脚本:
@echo off
:: Ce script permet de tester le réseau local d'un client
:: Déclaration de la variable IP, à 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=1,7 delims==+<+ " %%a in ('ping.exe -n 1 %IP% ^| findstr /i /c:"temps"^|^| echo "Ne Repond Pas"') do (
if "%%b" == "" (
echo "%date% %time:~,8% Ne repond pas" >> log_%IP%.txt
) ELSE (
if %%b GEQ %MS% (
echo "%date% %time:~,8% ms=%%b" >> log_%IP%.txt
)
)
)
timeout /t 1 > NUL
goto loop