中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟
中国DOS联盟论坛
现在时间是 2026-08-06 08:30
48,039 主题排行 / 350,124 发帖 / 今日 0 篇 / 48,251 会员排行
DOS批处理 & 脚本技术(批处理室) » 如何提取一文本中,有匹配字符的行!
可打印版本  919 / 8
第1楼 kdfk123 发表于 2007-10-11 21:47
初级用户 发帖 25 积分 63
如何提取一文本中,有匹配字符的行!
高人救命啊!我有一文本,内容是一行一行的!我想用批处理提取文本中有相应字符的行,另存起来,并在原文本中删除这些行!不知道能否实现!
我的文本中有些行带有空格,没有其他的特殊字符!

求高人能帮忙,小弟,我万谢!
第2楼 guixi 发表于 2007-10-11 23:10
初级用户 发帖 29 积分 76
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
未经测试
第3楼 kdfk123 发表于 2007-10-12 21:49
初级用户 发帖 25 积分 63
测试先!谢谢高人啊!
第4楼 kdfk123 发表于 2007-10-14 00:12
初级用户 发帖 25 积分 63
大侠不行啊!提取不出来!
我的文本内容的格式像这样子的!

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

而且我最后,希望的是把提取出来的内容,再从原文本中删除的!你的代码里好象没有这样的命令吧!
第5楼 jmz573515 发表于 2007-10-14 20:28
银牌会员 发帖 464 积分 1,212
第6楼 kdfk123 发表于 2007-10-14 20:34
初级用户 发帖 25 积分 63
谢谢这位大侠!我先测试先哦!
第7楼 不得不爱 发表于 2007-10-14 21:02
超级版主 发帖 2,044 积分 5,310 来自 四川南充
echo off
for /f "delims=" %%a in (关键字.txt) do (
type test.txt |findstr "%%a">>包括.txt
type test.txt |findstr /v "%%a">>不包括.txt
)
第8楼 kdfk123 发表于 2007-10-20 20:40
初级用户 发帖 25 积分 63
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
)

果然是高人啊!一下子解决了!真是太谢谢斑竹了!万万谢啊!
第9楼 slore 发表于 2007-10-20 21:04
铂金会员 发帖 2,478 积分 5,212
findstr可以直接操作文本,不用一行行……

findstr "slore" 关键字.txt>包含.txt
findstr /v "slore" 关键字.txt>不包含.txt
[ 联系联盟系统管理团队 - 中国DOS联盟 - 标准版 ]
Sponsored by ifanr Inc | © 2001–2023