使用bat批处理ping将结果加时间戳后保存,ping不通的单独保存到timeout文件

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

使用批处理bat命令ping将结果加时间戳后保存,ping不通的单独保存到timeout文件
工作中处理网络时断时续故障时,常用方法是长ping目标IP地址,记录ping结果到文件,查找中断时间的规律,再进一步分析原因。

系统自带的ping显然无法满足。

小弟在搜来代码加以修改,可以完成以下需求:
1、自定义输入要ping的目标主机IP地址
2、批处理bat命令长ping目标主机IP地址,并即将结果逐行加上时间戳,输出到文件->目标主机IP地址.log
3、如果ping不通,将结果加上时间戳,单独输出到文件->timeout_目标主机IP地址.log
例如ping 192.168.1.1:
----192.168.1.1.log文件内容格式如下---------------------------------------------
请输入要ping的目标主机IP地址: 192.168.1.1
2017-02-08 周三12:00:06 来自192.168.1.1 的回复: 字节=32 时间<1ms TTL=128
2017-02-08 周三12:00:07 来自192.168.1.1 的回复: 字节=32 时间<1ms TTL=128
2017-02-08 周三12:00:08 来自192.168.1.1 的回复: 字节=32 时间<1ms TTL=128
2017-02-08 周三12:00:09 PING:传输失败。

常见故障。

2017-02-08 周三12:00:10 PING:传输失败。

常见故障。

2017-02-08 周三12:00:11 PING:传输失败。

常见故障。

2017-02-08 周三12:00:22 PING:传输失败。

常见故障。

2017-02-08 周三12:00:23 来自192.168.1.1 的回复: 字节=32 时间<1ms TTL=128
2017-02-08 周三12:00:24 来自192.168.1.1 的回复: 字节=32 时间<1ms TTL=128
2017-02-08 周三12:00:25 来自192.168.1.1 的回复: 字节=32 时间<1ms TTL=128
2017-02-08 周三12:00:26 来自192.168.1.1 的回复: 字节=32 时间<1ms TTL=128
----timeout_192.168.1.1.log文件内容格式如下---------------------------------------------
2017/02/08 周三11:47:40 请求超时。

2017/02/08 周三11:47:45 请求超时。

2017/02/08 周三11:47:50 请求超时。

2017/02/08 周三11:47:55 请求超时。

2017/02/08 周三11:48:00 请求超时。

2017/02/08 周三11:48:05 请求超时。

2017/02/08 周三11:48:10 来自192.168.1.5 的回复: 无法访问目标主机。

2017/02/08 周三11:48:14 来自192.168.1.5 的回复: 无法访问目标主机。

2017/02/08 周三11:48:18 来自192.168.1.5 的回复: 无法访问目标主机。

2017/02/08 周三11:48:22 来自192.168.1.5 的回复: 无法访问目标主机。

2017-02-08 周三12:00:09 PING:传输失败。

常见故障。

2017-02-08 周三12:00:10 PING:传输失败。

常见故障。

2017-02-08 周三12:00:11 PING:传输失败。

常见故障。

2017-02-08 周三12:00:12 PING:传输失败。

常见故障。

2017-02-08 周三12:00:13 PING:传输失败。

常见故障。

注意,本bat脚本在win10/win7操作系统使用。

如果是较早版本操作系统,需要的朋友可以自己尝试自己再进一步修改使用。

请将虚线中间代码复制到新建文本文档保存,修改后缀名为.bat格式,执行。

——————————————————————————————————————
@echo off
set /p host1=请输入要ping的目标主机IP地址:
set logfile=%host1%.log
echo 目标主机= %host1% >%logfile%
for /f "tokens=*" %%A in ('ping %host1% -n 1 ') do (echo %%A>>%logfile% && GOTO Ping)
:Ping
for /f "tokens=* skip=2" %%A in ('ping %host1% -n 1 ') do (
echo %date% %time:~0,2%:%time:~3,2%:%time:~6,2% %%A>>%logfile%
echo %date% %time:~0,2%:%time:~3,2%:%time:~6,2% %%A
findstr /C:"超时" "%host1%.log" > timeout_%logfile%
findstr /C:"无法" "%host1%.log" >> timeout_%logfile%
findstr /C:"失败" "%host1%.log" >> timeout_%logfile%
timeout 1 >NUL
GOTO Ping)
——————————————————————————————————————。

相关文档
最新文档