Board logo

标题: ping -n 10 xx.xx.xx.xx里面需要的内容提取(求助) [打印本页]

作者: 344611734     时间: 2009-12-26 13:55    标题: ping -n 10 xx.xx.xx.xx里面需要的内容提取(求助)

大家好,我做一个网络测试,将一组ping IP的结果保存在d:\123.txt里面。要提取里面的几个参数。“TTL”,“丢失=”“平均=”这三个参数。保存在d:\result.txt里面。我用for /f "tokens=6,7* delims=" %i in (d:\123.txt) do @echo %i %j %k >>d:\result.txt(cmd下)能不能将TTL的值显示为一个。(显示的是10个)而且显示的也不是很理想。用find也不是很理想,恳求各位帮忙了。谢谢!

[ Last edited by 344611734 on 2009-12-26 at 13:57 ]
作者: sysplay     时间: 2009-12-29 11:56
@echo off
for /f "tokens=4 delims==" %%i in ('find "TTL" d:\123.txt') do set TTL=%%i
for /f "tokens=4 delims==" %%i in ('find "Lost" d:\123.txt') do set Lost=%%i
for /f "tokens=4 delims==" %%i in ('find "Average" d:\123.txt') do set Average=%%i
echo TTL=%TTL%>>d:\result.txt
echo Lost=%Lost%>>d:\result.txt
echo Average=%Average%>>d:\result.txt
作者: zxh17173     时间: 2009-12-29 23:48
2L也是显示10个TTL,我也想知道怎么显示一个...
作者: sysplay     时间: 2009-12-30 10:28


  Quote:
Originally posted by zxh17173 at 2009-12-29 23:48:
2L也是显示10个TTL,我也想知道怎么显示一个...

显示的是一个TTL呀。批处理里面是将TTL变量赋值了十次,不是显示十次

[ Last edited by sysplay on 2009-12-30 at 10:29 ]
作者: 344611734     时间: 2009-12-30 15:33


  Quote:
Originally posted by sysplay at 2009-12-29 11:56 AM:
@echo off
for /f "tokens=4 delims==" %%i in ('find "TTL" d:\123.txt') do set TTL=%%i
for /f "tokens=4 delims==" %%i in ('find "Lost" d:\123.txt') do set Lo ...

谢了sysplay兄,你这个思路比我的好多了,思路很清晰,我刚学for不久还有很多不是很灵活的运用。

我试过用for /f "skip=11 tokens=6 delims= " %%i ('find /i "ttl" d:\123.txt') do echo >d:\result.txt能够实现。可是我用skip跳到lost那一行,用逗号作为分割符却不能实现。你能帮我实现一下吗?期待你的code!谢啦!~~~

[ Last edited by 344611734 on 2009-12-30 at 15:38 ]
作者: zxh17173     时间: 2009-12-30 16:57

for /f "tokens=3 delims=," %%i in ('find /i "Lost" 123.txt') do echo %%i >>result.txt
这个试试...你原来的代码没有in...
二楼抱歉,没有仔细看...
5楼全文只有一个LOST,不必要skip,既然是用逗号的话 就直接算几个逗号就行了

[ Last edited by zxh17173 on 2009-12-30 at 17:13 ]
作者: 344611734     时间: 2009-12-31 10:31


  Quote:
Originally posted by zxh17173 at 2009-12-30 04:57 PM:
for /f "tokens=3 delims=," %%i in ('find /i "Lost" 123.txt') do echo %%i >>result.txt
这个试试...你原来的代码没有in...
二楼抱歉,没有仔细 ...

呵呵,发掉了in,不过代码的时候我是跟你一样的。还是没有效果的。没有提示错误也没有出现所要的结果。你试试看!
作者: zxh17173     时间: 2009-12-31 13:24
我试过是有的....
只不过我把123.txt放在同一路径而已...