Вероятно, есть еще какие-то улучшения, но вот вам:
@echo off
:ping1
title SAVES?
echo %date% - %time%
date /t>check_ping.txt
time /t>>check_ping.txt
ping -n 4 10.0.0.1
ping -n 4 10.0.0.1>>check_ping.txt
for /f "tokens=6,7" %%a in (check_ping.txt) do (
if "%%a"=="=" (
if %%b GEQ 2, (
cls
color 27
echo CORRECT
) else (
cls
color c7
echo WRONG
)
)
)
pause
goto ping1
Если вы хотите пропинговать один раз вместо двух, вы можете заменить строку 7-8 (и удалить строку 4: echo %date% - %time%
):
ping -n 4 10.0.0.1
ping -n 4 10.0.0.1>>check_ping.txt
примерно так:
ping -n 4 10.0.0.1>>check_ping.txt
type check_ping.txt
ping -n 4 localhost>nul
Это должно показать пинг сразу через 3 секунды (время пинга), чтобы быть уверенным, что 2 пинга, которые вы хотите сделать, одинаковы, а не 2 разных (первый может занять среднее значение 80 мс и одно добавление к файлу может быть 81 мс).
Я также предлагаю вместо ping -n 4 10.0.0.1
написать что-то вроде ping -n 4 -l 1 10.0.0.1
, где -l 1
- это сколько байтов вы должны отправить на этот ip, чтобы уменьшить использование сети в случае у вас уже медленно