标题: [文本处理] 批处理怎样逐行删除被读取的文本? [打印本页]
作者: zll855 时间: 2010-3-9 22:30 标题: 批处理怎样逐行删除被读取的文本?
有个问题
读取一个文本A.txt的第一行然后ping并将ping完的这一行提取到B.txt
然后删除在A.txt被ping完的这一行 循环执行直到A.txt没有内容
过程实现为:A.txt里的IP段一次一次被提取到B.txt直到A.txt无内容
文本A.txt的内容:
无规律的ip段
192.168.0.1
192.138.2.2
192.168.4.2
192.158.1.4
192.168.6.3
192.168.0.6
……
[ 本帖最后由 zll855 于 2010-3-9 22:53 编辑 ]
作者: BatCoder 时间: 2010-3-9 22:35
希望B.txt变成啥样?
作者: BatCoder 时间: 2010-3-9 22:39
第一段是指ping的结果的哪一段?
作者: zll855 时间: 2010-3-9 22:39
刚才问题问错了现在更正了
作者: zll855 时间: 2010-3-9 23:00
谢谢又被重新开放
记住了!
作者: namejm 时间: 2010-3-9 23:02
逐行删除用纯批处理来做很费事,既然把ping过的IP段写入了B.txt,为什么还一定要把A.txt中相应的内容删掉呢?直接在最后删掉A.txt不是一样的效果么?楼主不妨把真实的目的说说,可能会有更好的方案。
作者: BatCoder 时间: 2010-3-9 23:08
直接把A.txt里面的内容复制到B.txt里面,再清空A.txt不就行了吗,干嘛非得ping一下呢?
作者: sgaizxt001 时间: 2010-3-10 10:53
楼主的意思是能PING通就把IP写到B.txt并删除,如果不能就保留?
作者: w1588848 时间: 2010-3-17 17:08
可能 就是 楼上的意思,我也想知道 这样要怎么写。
作者: sysplay 时间: 2010-3-17 21:29
- @echo off
- set /p ip=<a.txt|| exit
- more +1 a.txt >c.txt
- move c.txt a.txt
- ping %ip%&&echo %ip%>>b.txt
- %0
复制代码
不知道这个是否可以?
这一句我也是按照PING通就把IP写到B.txt来处理的。
[ 本帖最后由 sysplay 于 2010-3-17 21:38 编辑 ]
作者: BatCoder 时间: 2010-3-17 21:58 标题: 回复 10楼 的帖子
这样频繁的文件操作和调用自身是不是太浪费系统资源了?直接用 for /f 来遍历文本会比较快吧。
作者: sysplay 时间: 2010-3-18 11:10
原帖由 BatCoder 于 2010-3-17 21:58 发表
这样频繁的文件操作和调用自身是不是太浪费系统资源了?直接用 for /f 来遍历文本会比较快吧。
对,确实是浪费系统资源。谢谢。
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |