批处理命令 记录ping的结果并显示当前时间

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了批处理命令 记录ping的结果并显示当前时间相关的知识,希望对你有一定的参考价值。

我现在想一段时间内一直ping一个ip地址, 172.100.100.100, 将结果保存在文本文件中
原先写了个批处理
ping 172.100.100.100 -t > c:\log.txt
但是结果中每行记录都没有时间,我想每条结果记录都带当时的时间,这应该如何写啊,我对批处理没有什么知识,谢谢了

1、首先需要在本地磁盘C的空白处右击,选择新建文本文档选项。

2、将新建的文本文档,生命名为IP_Info.txt。

3、用上面的方法,再新建一个文本文档,重命名为PingIP.txt。

4、打开文本文档PingIP.txt,首先输入批处理文件的开始和结束。

5、接着,输入命令ping电脑的IP,并且把输出结果保存在IP_Info文本文件中。

6、最后,将文本文件PingIP.txt重命名为PingIP.bat。

7、双击运行批处理文件PingIP.bat后,打开IP_Info文本文件,ping电脑IP的输出结果自动保存在文本文件IP_Info.txt中了。

参考技术A :top
echo %time%>>log.txt
ping -n 1 172.100.100.100 | findstr "TTL">> log.txt
ping -n 2 127.1 >nul
goto top本回答被提问者采纳
参考技术B :top
echo %time%>>log.txt
ping -n 1 192.168.4.42 | findstr "TTL">> log.txt
ping -n 1 192.168.0.10 | findstr "TTL">> log.txt
goto top
有没有大师给加一个延迟没40秒ping一次
参考技术C echo %time%&ping 172.100.100.100 -t >>c:\log.txt追问

结果只是显示了启动的时间,并没有把每条记录的时间都显示出来

批处理记录ping time大于10

比如 ping www.baidu.com -t
time大于10的时候记录当前时间并保存到C盘的123.txt

参考技术A @echo off
setlocal enabledelayedexpansion
:G
for /f "delims== tokens=1,2*" %%a in ('ping /n 3 www.baidu.com^|findstr /i /c:"时间="') do (
for /f "tokens=1*" %%x in ("%%c") do (
set tmp=%%x
set tmp=!tmp:~,-2!
echo %%a=%%b=%%c TIME:[%date%,%time%]
if !tmp! gtr 10 echo %%a=%%b=%%c TIME:[%date%,%time%]>>p.log
)
)
goto :g

参考技术B @echo off
:main
ping 目标地址 -n 1 -w 10 >nul&&echo %time%>>C:\\123.txt
ping 1.1 -n 1 -w 1000>>nul
goto :main

追问

你这个只能记录时间。不能记录PING值啊

参考技术C 批量ping地址吗?追问

只PING一个地址.
要求记录PING值和当时的时间如: 2017-7-20 20:30 100ms

追答@echo off & title 不间断 Ping 检测 By 依梦琴瑶
mode 50,2 & color 0a

::设置IP地址或网址
set IP=

::设置超时日志记录文件
set Log=C:\\123.txt

::设置超时值(毫秒)
set Ot=10

echo 正在对 %IP% 进行不间断 Ping 检测中。。。
:Loop
set "ms="
for /f "tokens=7 delims==< " %%a in ('ping %IP% -n "1" ^| find "时间"') do set "ms=%%~a"
set Nt=%time:~,5%
set DT=%date:~,10% %Nt: =0%
if not defined ms (
    (echo %DT% 请求超时)>>"%Log%"
    goto Loop
)
if %ms:~,-2% gtr %Ot% (echo %DT% %ms%)>>"%Log%"
goto Loop

追问

2017-07-21 23:48 请求超时
2017-07-21 23:48 请求超时
2017-07-21 23:48 请求超时
2017-07-21 23:48 请求超时
2017-07-21 23:48 请求超时

记录的全是这种,不知哪里有问题呢?我用批处理是PING得通的.

追答

出现这个,是因为ping的地址,不能ping通导致的。

你单独ping一下,看看是否正常ping通。

追问

可以PING通,要不你帮我PING202.103.219.193

追答

那你截图一下你那的ping界面。

追问

追答

你的回复也是够久的啊!
截你单独ping一个ip的画面,而不是截用我写的脚本运行的画面,否则我看不出情况。

追问

都说正常了

追答

好了,知道问题所在了,因为你的ping界面是全英文的,而我的代码是以中文为前提,进行处理的,所以出错。请把我代码中find "时间"改成find "time"

追问

试了还是不行,你能试了再回复我么?

追答

我这边无论使用全英文ping界面,还是中文ping界面,ping你的那个IP,完全正常。

追问

倒数4,5行要把前面的空格去除可以了。记录那个时间能精确到秒吗?

追答

呃!这个空格,在脚本中是被自动忽略的,第一次听说,有了这两个空格会影响你的那边的运行。
还有,这里获取到的数值是毫秒级别的,转换成秒的话,如果达不到1000毫秒以上,那么都是0秒,你觉得还有必要转换吗?

本回答被提问者采纳

以上是关于批处理命令 记录ping的结果并显示当前时间的主要内容,如果未能解决你的问题,请参考以下文章

需要一个批处理:一直ping一个ip地址,并且把ping的记过写入文本日志文件。且记录下每个ping不通的时间

如何把ping 的时间结果输出到指定的excel 表格中?

批处理命令的记录

如何在ping命令后面显示时间

BAT/CMD中将命令执行结果赋值给变量

ping命令结果中如何显示时间