中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟
中国DOS联盟论坛
现在时间是 2026-08-04 07:54
48,038 主题排行 / 350,123 发帖 / 今日 0 篇 / 48,251 会员排行
DOS批处理 & 脚本技术(批处理室) » 在不用重定向的情况下,怎样查找字符串且删除所在的行
可打印版本  906 / 13
第1楼 joyoustar 发表于 2007-04-20 10:02
初级用户 发帖 45 积分 96
在不用重定向的情况下,怎样查找字符串且删除所在的行
请问下高手,在不用重定向的情况下,要在TXT文本文件中查找某一字符串,并且删除此字符串,或者删除此字符串所在的行。
简单点效果要是这样:相当与打开记事本文件,找到要删除的字符串或字符串所在的行,删除以后直接保存。相当与这种效果,不要生成另一文本文件!能行不
第2楼 zh159 发表于 2007-04-20 10:19
金牌会员 发帖 1,467 积分 3,687
DOS下的edit、win的记事本可以
第3楼 bw070 发表于 2007-04-20 11:39
中级用户 发帖 137 积分 292
Originally posted by zh159 at 2007-4-19 09:19 PM:
DOS下的edit、win的记事本可以


楼上走题了人家问怎么搜索并删除,不是问怎么编辑
不过...不会...
第4楼 zh159 发表于 2007-04-20 12:35
金牌会员 发帖 1,467 积分 3,687
Originally posted by bw070 at 2007-4-19 22:39:


楼上走题了人家问怎么搜索并删除,不是问怎么编辑
不过...不会...

想想楼主的要求,再看看我说的话
第5楼 lxmxn 发表于 2007-04-20 23:42
版主 发帖 4,938 积分 11,386
查找删除之后,定向到一个文件,删除原文件,在重命名新文件不行么?
第6楼 flyinspace 发表于 2007-04-21 02:55
银牌会员 发帖 517 积分 1,206
用 c 写一个吧?肯定行的。。
第7楼 everest79 发表于 2007-04-21 03:04
金牌会员 发帖 1,127 积分 2,564
小文件可以全提到内存里边,过大了不行,这本来就属于文本处理了
第8楼 flyinspace 发表于 2007-04-21 03:48
银牌会员 发帖 517 积分 1,206
那就用两个for循环一起搞定?
第9楼 joyoustar 发表于 2007-04-24 05:46
初级用户 发帖 45 积分 96
不要重定向,那样会生成一个新的文件,然后再覆盖原文件,这种感觉很多余。
就是不要FINDSTR那种,批处理真的没直接删除字符串的方法吗?
第10楼 lxmxn 发表于 2007-04-24 12:30
版主 发帖 4,938 积分 11,386
To joyoustar:

如果你可以把你文件中的内容指定一个位置(排除文件)存放,当然可以不用重定向也可以删除字符串了。

但是如果你的文件过大,往哪里放这些内容呢?除非系统内存缓冲区足够的大。
第11楼 lililulula 发表于 2007-04-24 23:05
中级用户 发帖 138 积分 302
楼主如果为了追求结果我认为lxmxn的想法应该可以实现,但是我不知道怎么删除字符所在行,所以没办法帮忙,如果楼主是为了寻求完美解决办法的话,那也许有点难度.
第12楼 everest79 发表于 2007-04-24 23:19
金牌会员 发帖 1,127 积分 2,564
代码的要求应是完善与简洁,而不是完美
第13楼 zh159 发表于 2007-04-24 23:21
金牌会员 发帖 1,467 积分 3,687
本来DOS下的edit、win的记事本就是先将文件内容读入系统缓存,修改后保存也是直接覆盖源文件

真要不生成另一文本文件就象everest79说的方法
第14楼 everest79 发表于 2007-04-24 23:23
金牌会员 发帖 1,127 积分 2,564
呵呵,就是,word够牛吧,还不是满足不了楼主要求
[ 联系联盟系统管理团队 - 中国DOS联盟 - 标准版 ]
Sponsored by ifanr Inc | © 2001–2023