如何ping 多个不同的ip,用脚本形式,将结果保存到一个文本文档中(显示为ping通或不通),谢谢!
发布网友
发布时间:2023-03-23 09:23
我来回答
共3个回答
热心网友
时间:2023-10-13 21:59
复制粘贴到记事本,另存为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="为据
热心网友
时间:2023-10-13 21:59
我把输出屏蔽了,你先少试几个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追问感谢回复,,,
热心网友
时间:2023-10-13 22:00
桌面新建文本文本进行编辑,输入以下,生成的文本文档我自己放在了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追问谢谢回复,,,