我在一个小型IT部门工作,该部门在其他外部办公室有多个用户,并制作了一个基本的(Windows) PING命令批处理脚本,用于PING每个办公室以检查它们是否在线。我只需运行.bat文件并将其留在屏幕的一角。
如果ping失败,则背景变为红色,如果有效,则保持蓝色。内容如下:
@echo off
COLOR 97
:start
echo EXTERNAL CHECK
PING www.google.com
IF %ERRORLEVEL% EQU 0 COLOR 97
IF %ERRORLEVEL% EQU 1 COLOR 47
echo SITE A CHECK
PING x.x.x.x
IF %ERRORLEVEL% EQU 0 COLOR 97
IF %ERRORLEVEL% EQU 1 COLOR 47
echo SITE B CHECK
PING x.x.x.x
IF %ERRORLEVEL% EQU 0 COLOR 97
IF %ERRORLEVEL% EQU 1 COLOR 47
echo SITE C CHECK
PING x.x.x.x
IF %ERRORLEVEL% EQU 0 COLOR 97
IF %ERRORLEVEL% EQU 1 COLOR 47
echo SITE D CHECK
PING x.x.x.x
IF %ERRORLEVEL% EQU 0 COLOR 97
IF %ERRORLEVEL% EQU 1 COLOR 47
goto start我是一个脚本新手,所以对于任何愚蠢的错误,我深表歉意。如果任何人有任何建议来改善它,我将欢迎他们。我希望这对人们有帮助!抢夺
发布于 2013-08-08 20:13:52
尝试:
@echo off
:color 97
:start
echo EXTERNAL CHECK
PING www.google.com
call :color
echo SITE A CHECK
PING www.yahoo.com
call :color
echo SITE B CHECK
PING 127.0.0.1
call :color
echo SITE C CHECK
PING www.nowhere.com.fail
call :color
echo SITE D CHECK
PING www.failfail.com.fail
call :color
goto start
:color
IF %ERRORLEVEL% EQU 0 (
COLOR 97
) else (
COLOR 47
)
GOTO:EOF发布于 2014-09-11 00:02:12
由于大多数更新Windows版本都包含PowerShell,因此您可以将单行PowerShell命令合并到批处理中,或者更改单行的颜色。我的例子:
@ECHO关闭
对于%%i IN (
版本3:服务器1
版本3:服务器2
*
)做(
“如果(测试连接%%i -Count 1 -Quiet) {写入主机"%%i -成功pinged”-F绿色}否则{写入主机"%%i失败“-F红色}
)
希望这能起作用!
https://stackoverflow.com/questions/18125398
复制相似问题