Top.Mail.Ru
Ответы

Изменение цвета определённых строчек в пакетном файле bat

Всем доброго времени суток!

С делал маленький пакетный файл, чтобы сразу с рабочего стола быстро проверять время досылки ICMP пакетов на 8.8.8.8, от выглядит так:

123456789
 @echo off
chcp 1251 >NUL
title Ping Google DNS

echo Выполняется проверка времени досылки ICMP пакетов до Google DNS:
ping 8.8.8.8 -t
echo.

pause 

И мне нужно, чтобы, например, если время меньше 60мс, то строчка была зелёная, а если больше 60мс, то красная. Команда "color" отвечает только за окраску всего текста в окне, но есть некий код, который окрашивает конкретные строчки:

123456789
 @echo off
call :colored "Print me in red!" Red
call :colored "Print me in blue!" Blue

pause >nul
exit

:colored
%Windir%\System32\WindowsPowerShell\v1.0\Powershell.exe write-host -foregroundcolor %2 %1 

Так вот, можно ли как-то параметр "foregroundcolor" применить именно на > или < 60мс, без стороннего ПО типа "Cmder" и без сторонних dll-библиотек типа "nhcolor", чтобы пакетный файл оставался один?

Дата
Популярность
Аватар пользователя
1 год назад

можно вывод ping завернуть в цикл, в котором парсить строку, сравнивать значение и выводить соотв. цветом. но корябать такое на cmd - мазохизм. раз уж ты в повершел полез - пиши все целиком на нем, там и пинг есть встроеный.