Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/batch-file/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Batch file 用于Ping监控的批处理脚本,带有背景更改和报警_Batch File - Fatal编程技术网

Batch file 用于Ping监控的批处理脚本,带有背景更改和报警

Batch file 用于Ping监控的批处理脚本,带有背景更改和报警,batch-file,Batch File,实际上我有一个Ping监控和报警的代码。它正在工作,但是,当没有Ping到一个特定的IP时,它只显示一个带有背景变化的空白屏幕。我想显示cmd中显示的确切错误。例如“目标主机无法访问”或“TTL在传输过程中过期”。有没有办法做到这一点???我的代码是 echo off & cls :top PING -n 1 8.8.8.8 -l 1 | FINDSTR /C:"TTL=" /C:"Destination host unreachable" /C:"Request timed out."

实际上我有一个Ping监控和报警的代码。它正在工作,但是,当没有Ping到一个特定的IP时,它只显示一个带有背景变化的空白屏幕。我想显示cmd中显示的确切错误。例如“目标主机无法访问”或“TTL在传输过程中过期”。有没有办法做到这一点???我的代码是

echo off & cls
:top
PING -n 1 8.8.8.8 -l 1 | FINDSTR /C:"TTL=" /C:"Destination host unreachable" /C:"Request timed out." /C:"TTL Expired in transit"
IF ERRORLEVEL 1 (SET OUT=4F & start \music.mp3) Else (SET OUT=2F)
color %OUT%
ping -n 2 -l 127.0.0.1 >nul
GoTo top

移除
Echo Off
@CatCat,当所有输出都被
FIND
命令过滤以仅显示包含
TTL
的行时,如何显示输出?
FIND
命令过滤
PING
输出以仅显示包含
TTL
的行。如果仍要筛选特定行,但需要显示多行,请切换到使用
FINDSTR
命令
FINDSTR/C:“TTL=“/C:“目标主机不可访问”
@Squashman我根据您的建议修改了代码,但现在错误正好显示出来。但是背景色没有改变。在正确的ping和错误情况下,它保持不变。@NithinHaridas,右括号和
ELSE
之间需要有一个空格。