批处理,连续不断的ping一个固定的ip,3秒ping1次,将结果全部输出到txt上,带上时间

如题所述

    不需要那么复杂,就四条命令搞定

    :loop  rem 循环标志
    rem ping 123.45.67.89 -n 1 -w 3000   REM 这是第一种方式,利用ping不通超时来计时.3000毫秒
    choice /t 3 /d y /n >nul   REM 这是另一种方式,作一个等3秒的选择
    date /T >>out.txt    REM 获取当前日期并保存到out.txt
    time /T >>out.txt    REM  获取当前日间并保存到out.txt
    ping 172.16.12.164 >>out.txt REM ping并保存到out.txt 
    @goto loop   REM循环

    运行结果

    2018-01-30 
    14:30

    正在 Ping 172.16.12.164 具有 32 字节的数据:
    来自 172.16.12.164 的回复: 字节=32 时间<1ms TTL=64
    来自 172.16.12.164 的回复: 字节=32 时间<1ms TTL=64
    来自 172.16.12.164 的回复: 字节=32 时间<1ms TTL=64
    来自 172.16.12.164 的回复: 字节=32 时间<1ms TTL=64

    172.16.12.164 的 Ping 统计信息:
        数据包: 已发送 = 4,已接收 = 4,丢失 = 0 (0% 丢失),
    往返行程的估计时间(以毫秒为单位):
        最短 = 0ms,最长 = 0ms,平均 = 0ms
    2018-01-30 
    14:30

    正在 Ping 172.16.12.164 具有 32 字节的数据:
    来自 172.16.12.164 的回复: 字节=32 时间<1ms TTL=64
    来自 172.16.12.164 的回复: 字节=32 时间<1ms TTL=64
    来自 172.16.12.164 的回复: 字节=32 时间<1ms TTL=64
    来自 172.16.12.164 的回复: 字节=32 时间<1ms TTL=64

温馨提示:答案为网友推荐,仅供参考
第1个回答  2018-01-30
@echo off
if "%1" == "h" goto begin 
set "ip=192.168.0.109"
set "out_file=e:\result.txt"
mshta vbscript:createobject("wscript.shell").run("%~nx0 h",0)(window.close)&&exit 
:begin
(
echo %date% %time%&ping -n 1 %ip%
echo ================================================
)>>"%out_file%"
choice /t 3 /d y /n >nul
goto:begin

第2,5行是后台运行代码,如果不需要后台隐藏运行,删除即可。

如果后台运行,需要任务管理器手动结束CMD进程以终止脚本运行。

本回答被提问者采纳
第2个回答  2018-01-30
不知道你要干嘛?连续检测带上参数t就好了!

ping baidu.com -t
相似回答