这里有一段很长的时间。
如果我想运行一个连续的ping命令,是否可以让输出以不同的颜色列出,如果我们说结果超出某一点?
示例:
Ping结果以22ms返回,白色 Ping结果返回300+,红色
那可能吗?我是否需要制作批处理文件?
下面列出的脚本非常适用。但是,我需要一些额外的动作。当IP地址超时时,此脚本不执行任何操作。它只是等待下一次ping。无论如何要加入它吗?
答案 0 :(得分:1)
一个基本的解决方案就是这样的。
@setlocal enableextensions enabledelayedexpansion
@echo off
set /p ipaddr="Enter ip or url: eg localhost or google.co.za or 192.168.0.1 "
set /p cutoff="enter minimum good reply ms: eg 300 "
set /a res = 0 - 1
:loop
for /f "tokens=7,9" %%a in ('ping -n 1 !ipaddr!') do (
set /a res = 0 - 1
if "%%a"=="Average" (
set a=%%b
set /a res=!a:~0,-2!
)
)
IF %res% == -1 (
COLOR 2
echo %ipaddr% failed to respond in time
)
IF %res% LEQ %cutoff% (
IF %res% NEQ -1 (
COLOR 2
echo %ipaddr% responded in %res%ms
)
)else (
COLOR 4
echo %ipaddr% responded in %res%ms
)
ping -n 3 127.0.0.1 >nul: 2>nul:
goto :loop
endlocal
将其保存为.cmd文件,然后双击它