Batch file 是否根据ping结果更改命令提示中的颜色?
我昨天询问了根据ping结果在命令提示符中更改颜色的问题。一位用户很友好地向我提供了下面的脚本 除了一个问题,这个脚本工作得很好。当连接超时时,它什么也不做。只是有点停顿。如果报告超时,如何更新此脚本以包含变量或其他也会更改文本的内容Batch file 是否根据ping结果更改命令提示中的颜色?,batch-file,command-prompt,ping,Batch File,Command Prompt,Ping,我昨天询问了根据ping结果在命令提示符中更改颜色的问题。一位用户很友好地向我提供了下面的脚本 除了一个问题,这个脚本工作得很好。当连接超时时,它什么也不做。只是有点停顿。如果报告超时,如何更新此脚本以包含变量或其他也会更改文本的内容 @setlocal enableextensions enabledelayedexpansion @echo off set /p ipaddr="Enter ip or url: eg localhost or google.co.za or 192.168.
@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 "
:loop
for /f "tokens=7,9" %%a in ('ping -n 1 !ipaddr!') do (
if "%%a"=="Average" (
set a=%%b
set /a res=!a:~0,-2!
)
)
if %res% LEQ %cutoff% (
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
没有响应时没有“平均值”,因此变量保持不变(显示最后一个“有效”值)
只需在
:loop
和for…
之间添加set res=No_Response
,即可在ping之前预设变量。完美!非常感谢你!我想我已经准备好了。就目前而言,这是:可能重复的