批处理命令 记录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 :topecho %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
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
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的结果并显示当前时间的主要内容,如果未能解决你的问题,请参考以下文章