Board logo

标题: [文本处理] [已解决]请问如何从某个命令的结果中获取文字并以一定格式输出到文本文件中? [打印本页]

作者: mrcool    时间: 2012-2-1 15:55     标题: [已解决]请问如何从某个命令的结果中获取文字并以一定格式输出到文本文件中?

本帖最后由 mrcool 于 2012-2-8 10:41 编辑

我想从ping的结果中,取出丢包率和平均时间(下面标红的两个数据),并以逗号分隔添加到某个文本文件中。

C:\Users\user>ping www.qq.com -t

正在 Ping www.qq.com [117.135.130.174] 具有 32 字节的数据:
来自 117.135.130.174 的回复: 字节=32 时间=65ms TTL=48
来自 117.135.130.174 的回复: 字节=32 时间=64ms TTL=48
来自 117.135.130.174 的回复: 字节=32 时间=66ms TTL=48
来自 117.135.130.174 的回复: 字节=32 时间=64ms TTL=48
来自 117.135.130.174 的回复: 字节=32 时间=64ms TTL=48
来自 117.135.130.174 的回复: 字节=32 时间=66ms TTL=48
来自 117.135.130.174 的回复: 字节=32 时间=66ms TTL=48
来自 117.135.130.174 的回复: 字节=32 时间=66ms TTL=48
来自 117.135.130.174 的回复: 字节=32 时间=64ms TTL=48

117.135.130.174 的 Ping 统计信息:
    数据包: 已发送 = 9,已接收 = 9,丢失 = 0 (0% 丢失),
往返行程的估计时间(以毫秒为单位):
    最短 = 64ms,最长 = 66ms,平均 = 65ms


但这两个数据的行数不能确定,请问代码应该如何写?谢谢。
作者: lvsehuaxue    时间: 2012-2-1 17:17

  1. @echo off
  2. for /f "delims=" %%i in ('ping www.baidu.com') do (
  3.    for /f "tokens=4 delims== " %%a in ('echo %%i^|findstr "平均"') do echo %%a
  4.    for /f "tokens=9 delims=( " %%b in ('echo %%i^|findstr "数据包"') do echo %%b
  5. )
  6. pause
复制代码

作者: mrcool    时间: 2012-2-8 10:23

thanks,it works!
Thank you very much




欢迎光临 批处理之家 (http://www.bathome.net/) Powered by Discuz! 7.2