标题: [网络连接] [已解决]批处理如何提取ping命令结果的指定信息? [打印本页]
作者: lijinpengying 时间: 2012-5-5 10:22 标题: [已解决]批处理如何提取ping命令结果的指定信息?
是这么一个事情……
我突然想试试自己学到一个什么程度了。于是在百度上去回答问题,有一个问题是:
在一个文本里有若干的IP地址。
写一个批处理依次对其进行ping处理。(::这个我还是能做得出来的,嘻嘻……)
对结果进行处理。要求提取出所有能ping通的IP。(::就是这,我不能有效的提取出来……)
亲爱的大大些。仁慈如您们的人,一定会不吝赐教的,对吧!
嘻嘻!谢谢各位大大!在我的成长路上,希望有诸位的见证……
求符合要求的代码以供小菜研究!
不胜感激,感激涕零啊大大!
作者: yangfengoo 时间: 2012-5-5 10:57
ping www.bathome.net&&echo 成功||echo 失败
作者: 秋风·飞扬 时间: 2012-5-5 12:48
for /f %%i in (1XXX.txt) do (
set /a n+=1
ping %%i
if %errorlevel%==0 echo %%i>>2XXX.txt
)
1XXX.txt是你装IP的文件
2XXX.txt是可以平通的文件,能PING通的都在里面
作者: 秋风·飞扬 时间: 2012-5-5 12:50
回复 3# 秋风·飞扬
哦 上面没有set /a n+=1 这句没用,我忘删掉了
作者: 秋风·飞扬 时间: 2012-5-5 12:54
回复 1# lijinpengying
互相帮助,尽力而为,。
作者: 秋风·飞扬 时间: 2012-5-5 13:39
如果问题解决,就在标题上修改【已解决】
作者: 秋风·飞扬 时间: 2012-5-5 14:17
代码需要改,先等一下吧
作者: lijinpengying 时间: 2012-5-5 15:27
回复 7# 秋风·飞扬
代码是错误的。因为无论如何ping命令都是成功执行的,所以你这个代码是不可能判断出哪些能拼通哪些不能。唉……
我记得以前见过正确的代码,可是忘了在哪里看到的了。好像是利用了findstr命令。
作者: lijinpengying 时间: 2012-5-5 15:54
@echo off &setlocal enabledelayedexpansion
for /f %%i in (ip.txt) do (
set ip=%%i
ping /n 1 !ip! | findstr /i "reply"&&if errorlevel==0 echo !ip! >>now.txt
)
解决啦!嘻嘻!
作者: 秋风·飞扬 时间: 2012-5-5 18:29
回复 8# lijinpengying
对不起啊,真是不好意思,我下午去上课了,那个代码 for循环里面的两句合并为一句,ping /n 2 %%i && echo %%i >>2.txt 即可,sorry~
作者: ShenMian 时间: 2017-10-4 15:22
根据这个改吧,作者QQ:2294394563复制代码
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |