中国DOS联盟

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

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

中国DOS联盟论坛
现在时间是 2026-08-12 00:08
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » [已解决]:查找文件中多个指定字符串对应的行 查看 853 回复 2
楼 主 [已解决]:查找文件中多个指定字符串对应的行 发表于 2010-07-23 13:34 ·  中国 江苏 苏州 电信
初级用户
★★
积分 71
发帖 70
注册 2010-07-19 11:51
16年会员
UID 170757
性别 男
状态 离线
在某文件中含有多行数据,打算只输出指定的内容的行,应该如何操作。
例如文件内容如下:

筛选器列表名称 : Yes
描述 : 无
存储 : 本地存储
上次修改时间 : 2110-7-29 99:31:04
GUID : {-98307D82365F}
筛选器数目 : 1
筛选器
---------
描述 : Any
已镜像 : 是
源 IP 地址 : 159.125.21.1
源掩码 : 255.255.255.255
源 DNS 名称 : <特定的 IP 地址>
目标 IP 地址 : <我的 IP 地址>
目标掩码 : 255.255.255.255
目标 DNS 名称 : <我的 IP 地址>
协议 : ANY
源端口 : 任何
目标端口 : 任何
我打算只提取其中的“源 IP 地址 ;源掩码;目标 IP 地址 ;目标掩码 ;源端口 ;目标端口”所在行的内容,如何操作?
用findstr /ivc:""不知道怎么写几个字符串间的关系.

[ Last edited by coldface on 2010-8-4 at 17:59 ]
2 发表于 2010-07-23 14:45 ·  中国 重庆 电信
初级用户
★★
积分 198
发帖 89
注册 2007-09-06 23:22
18年会员
UID 96746
性别 男
来自 重庆
状态 离线
findstr /r 是正则表达式开关。
假设“某文件”为1.txt:
@echo off
for %%i in ("源 IP 地址" "源掩码" "目标 IP 地址" "目标掩码" "源端口" "目标端口") do findstr /r /c:"\<%%~i\>" 1.txt
pause>nul
3 发表于 2010-07-23 16:47 ·  中国 江苏 苏州 电信
初级用户
★★
积分 71
发帖 70
注册 2010-07-19 11:51
16年会员
UID 170757
性别 男
状态 离线
好的 谢谢。
刚才在翻看论坛帖子的时候看到%%~的意思了。
感谢!

[ Last edited by coldface on 2010-7-23 at 17:09 ]
论坛跳转: