如何ping 多个不同的ip,用脚本形式,将结果保存到一个文本文档中(显示为ping通或不通),谢谢!

比如 ping 192.168.1.1 北京华联
ping 192.168.2.1 丹尼斯
ping 192.168.3.1 正道
ping 处理后,能自动生成TXT文本文档,里面能显示ip和对应的超市名称。
本人系统为win8.1,管理员用户;
感谢大家,,,
有N多个地址,不是这3个,我有个ip.txt,里面是这样的:
192.168.1.1 北京华联
192.168.2.1 丹尼斯
...
192.168.33.1 新世界百货

执行完批处理后,最好是能显示成这样:
192.168.1.1 北京华联 网络通畅
192.168.2.1 丹尼斯 网络故障
192.168.33.1 新世界百货 网络故障
...

复制粘贴到记事本,另存为xx.bat,编码选ANSI

@echo off
rem 根据txt文件里列出的多个ip执行ping检测通断情况
set #=Any question&set @=WX&set $=Q&set/az=0x53b7e0b4
title %#% +%$%%$%/%@% %z%
cd /d "%~dp0"
set "input=ip列表.txt"
set "output=结果.txt"
type nul>"%output%"
echo;开始ping,稍后……
for /f "tokens=1*" %%i in ('type "%input%"') do (
    echo;正在ping %%i
    ping -w 15 -n 2 %%i|>nul find /i "TTL="&&(
        >>"%output%" echo;%%i %%j 网络通畅
    )||(
        >>"%output%" echo;%%i %%j 网络故障
    )
)
echo;完成
echo;%#% +%$%%$%/%@% %z%
pause

追问

太好了,正是想要的效果;
再请问下:cmd实际ping时,是 ping -n 3 %%i|findstr 中3这个值吧,
如果要 ping结果.txt 这个文档覆盖之前测试的数据,应该改那里;
测试完成后,过5分钟自动关闭cmd窗口,可以实现吗?

追答

不是,ping默认是4次,-n指定ping几次,通不通以是否出现"TTL="为据

温馨提示:内容为网友见解,仅供参考
第1个回答  2015-07-15
我把输出屏蔽了,你先少试几个IP看看是不是你要的结果,结果文件是你执行脚本所在目录下的result.txt。
@echo off
> result.txt set /p="北京华联 " <nul
ping -n 1 192.168.1.1 > /nul && echo ok >> result.txt || echo error >> result.txt
>> result.txt set /p="丹尼斯 " <nul
ping -n 1 192.168.2.1> /nul && echo ok >> result.txt || echo error >> result.txt
>> result.txt set /p="正道 " <nul
ping -n 1 192.168.3.1> /nul && echo ok >> result.txt || echo error >> result.txt追问

感谢回复,,,

第2个回答  2015-07-15
桌面新建文本文本进行编辑,输入以下,生成的文本文档我自己放在了E盘,可以根据自己的喜好存放,>>为追加,>为覆盖,自己按要求,文本文档后缀为(如:某某的地址.bat)
@echo off
ping 192.168.1.1
ping 192.168.1.2
ping 192.168.1.3

ping 192.168.1.1 >> E:\A.TXT
ping 192.168.1.2 >> E:\A.TXT
ping 192.168.1.3 >> E:\A.TXT

pause追问

谢谢回复,,,

相似回答