中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

中国DOS联盟论坛
现在时间是 2026-08-04 12:13
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 求助,怎么从一个文件中提取一些字符并输出? 查看 922 回复 4
楼 主 求助,怎么从一个文件中提取一些字符并输出? 发表于 2006-04-17 11:09 ·  中国 广东 广州 科技网
新手上路
积分 16
发帖 2
注册 2006-04-16 23:54
20年会员
UID 53952
状态 离线
求助,怎么从一个文件中提取一些字符并输出?
就好像我ping网关,怎么把丢包率%0 loss输出来?谢谢各位呀,急呀!
C:\>ping 192.168.1.1
Pinging 192.168.1.1 with 32 bytes of data:
Reply from 192.168.1.1: bytes=32 time=2ms TTL=64
Reply from 192.168.1.1: bytes=32 time=1ms TTL=64
Reply from 192.168.1.1: bytes=32 time=1ms TTL=64
Reply from 192.168.1.1: bytes=32 time=1ms TTL=64
Ping statistics for 192.168.1.1:
Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
Minimum = 1ms, Maximum = 2ms, Average = 1ms
2 发表于 2006-04-17 11:57 ·  中国 湖北 荆门 电信
荣誉版主
★★★
积分 2,013
发帖 718
注册 2006-02-18 07:07
20年会员
UID 50550
状态 离线
是不是这样?

for /f "delims=() tokens=2" %i in ('"ping 192.168.1.1 | find "Packets""') do echo %i
for /f "delims=(l tokens=2" %i in ('"ping 192.168.1.1 | find "Packets""') do echo %i

命令行中执行,批处理中需用%%i来代替%i
3 发表于 2006-04-17 12:03 ·  中国 福建 泉州 安溪县 电信
银牌会员
★★★
积分 1,276
发帖 469
注册 2002-12-23 13:00
23年会员
UID 586
性别 男
来自 福建泉州
状态 离线
在WIN2000以上系统中可以使用:


for /f "usebackq tokens=2 delims=()" %i in (`ping 192.168.1.1^|find /i "loss)"`) do echo %i
QQ:366840202
http://chenall.net
4 发表于 2007-05-08 16:07 ·  中国 广东 中山 电信
初级用户
★★
积分 127
发帖 62
注册 2007-04-19 12:43
19年会员
UID 85744
性别 男
状态 离线
学习了!

for /f "tokens=2 delims=()" %i in ('ping 192.168.1.1^|find /i "loss)"') do echo %i

[ Last edited by minmin888 on 2007-5-8 at 04:28 PM ]
5 用grep也很简单 发表于 2007-05-08 23:35 ·  中国 湖北 武汉 电信
版主
★★★★★
积分 11,386
发帖 4,938
注册 2006-07-23 17:10
20年会员
UID 59080
状态 离线
ping 192.168.1.1|grep -o "(.*)"
论坛跳转: