中国DOS联盟论坛

中国DOS联盟

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

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

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 如何提取一文本中,有匹配字符的行!
作者:
标题: 如何提取一文本中,有匹配字符的行! 上一主题 | 下一主题
kdfk123
初级用户





积分 63
发帖 25
注册 2007-10-11
状态 离线
『楼 主』:  如何提取一文本中,有匹配字符的行!

高人救命啊!我有一文本,内容是一行一行的!我想用批处理提取文本中有相应字符的行,另存起来,并在原文本中删除这些行!不知道能否实现!
我的文本中有些行带有空格,没有其他的特殊字符!

求高人能帮忙,小弟,我万谢!

2007-10-11 21:47
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
guixi
初级用户





积分 76
发帖 29
注册 2007-10-2
状态 离线
『第 2 楼』:  

echo off
for  /f "delims=" %%a in (关键字.txt) do (
type test.txt |findstr /v "%%a" && echo %%a>>new.txt
type test.txt |findstr  "%%a" && echo %%a>>new.txt
)
pause
未经测试

2007-10-11 23:10
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
kdfk123
初级用户





积分 63
发帖 25
注册 2007-10-11
状态 离线
『第 3 楼』:  

测试先!谢谢高人啊!

2007-10-12 21:49
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
kdfk123
初级用户





积分 63
发帖 25
注册 2007-10-11
状态 离线
『第 4 楼』:  

大侠不行啊!提取不出来!
我的文本内容的格式像这样子的!

111 434234 325343 432324
23543 32354 3242354 324453
43243 342323 32423 342 34
324234 324234 32423 3242

而且我最后,希望的是把提取出来的内容,再从原文本中删除的!你的代码里好象没有这样的命令吧!

2007-10-14 00:12
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
jmz573515
银牌会员




积分 1212
发帖 464
注册 2006-12-13
状态 离线
『第 5 楼』:  


m=inputbox("请输入关键字:","系统提示")
if m="" or m=false then wscript.quit
set fso=createobject("scripting.filesystemobject")
set file=fso.opentextfile("test.txt")
sm=file.readall
file.close
s=split(sm,vbcrlf)
yesm=filter(s,m)
nom=filter(s,m,false)
wscript.echo "包含【" & m & "】的行:" & vbcrlf & vbcrlf & join(yesm,vbcrlf)
wscript.echo  "不包含【" & m & "】的行:" & vbcrlf & vbcrlf &join(nom,vbcrlf)


2007-10-14 20:28
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
kdfk123
初级用户





积分 63
发帖 25
注册 2007-10-11
状态 离线
『第 6 楼』:  

谢谢这位大侠!我先测试先哦!

2007-10-14 20:34
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
不得不爱
超级版主

我爱DOS


积分 5310
发帖 2044
注册 2005-9-26
来自 四川南充
状态 离线
『第 7 楼』:  

echo off
for  /f "delims=" %%a in (关键字.txt) do (
type test.txt |findstr  "%%a">>包括.txt
type test.txt |findstr /v "%%a">>不包括.txt
)

   此帖被 +2 点积分    点击查看详情   
评分人:【 kdfk123 分数: +2  时间:2007-10-20 20:41




我的网络U盘 我的网络第2个U盘
论坛软件下载链接
灵雨飘零论坛  
论坛新手必读,所有人的基本行为准则
刷QQ空间人气、留言的小软件
2007-10-14 21:02
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
kdfk123
初级用户





积分 63
发帖 25
注册 2007-10-11
状态 离线
『第 8 楼』:  



  Quote:
Originally posted by 不得不爱 at 2007-10-14 09:02 PM:
echo off
for  /f "delims=" %%a in (关键字.txt) do (
type test.txt |findstr  "%%a">>包括.txt
type test.txt |findstr /v "%%a">>不包括.txt
)

果然是高人啊!一下子解决了!真是太谢谢斑竹了!万万谢啊!

2007-10-20 20:40
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
slore
铂金会员





积分 5212
发帖 2478
注册 2007-2-8
状态 离线
『第 9 楼』:  

findstr可以直接操作文本,不用一行行……

findstr  "slore" 关键字.txt>包含.txt
findstr /v "slore" 关键字.txt>不包含.txt

2007-10-20 21:04
查看资料  发短消息 网志   编辑帖子  回复  引用回复

请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转: