Board logo

标题: [文本处理] [已解决]批处理怎样从控制台的输出提取并格式化字符串输出到文本excel? [打印本页]

作者: wangyangweb    时间: 2013-3-20 20:26     标题: [已解决]批处理怎样从控制台的输出提取并格式化字符串输出到文本excel?

本帖最后由 wangyangweb 于 2013-3-21 10:17 编辑

in.txt中有若干网址,每个网址各占一行,

从in.txt中读取一个网址,并用ping命令ping之,

从输出的信息中提取"平均 = "字样后的字符串str,以“网址 str”形式输出到out.txt(如ping www.sina.com):

正在 Ping newssd.sina.com.cn [60.215.128.246] 具有 32 字节的数据:
来自 60.215.128.246 的回复: 字节=32 时间=8ms TTL=55
来自 60.215.128.246 的回复: 字节=32 时间=8ms TTL=55
来自 60.215.128.246 的回复: 字节=32 时间=8ms TTL=55
来自 60.215.128.246 的回复: 字节=32 时间=8ms TTL=55

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

(再读取下一网址,重复提取字符串操作,直到所有网址全部读取完毕)

out.txt中的内容应如下形式:
www.sina.com 8ms
www.google.com.hk 75ms
作者: BAT-VBS    时间: 2013-3-20 21:07

  1. @echo off
  2. setlocal enabledelayedexpansion
  3. (for /f %%a in (in.txt) do (
  4.     for /f "delims=" %%b in ('ping %%a ^| findstr "平均"') do (
  5.         set str=%%b
  6.     )
  7.     set str=!str:*平均 =!
  8.     set str=!str:~2!
  9.     echo %%a !str!
  10. ))>out.txt
复制代码

作者: wangyangweb    时间: 2013-3-20 21:21

回复 2# BAT-VBS


    非常感谢,成功了!!!太神奇了,我也要学好
作者: BAT-VBS    时间: 2013-3-20 21:23

回复 3# wangyangweb


    问题解决后,请编辑顶楼帖子在标题前面注明[已解决],并给回答者加分。




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