[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[文本处理] 批处理怎样逐行删除被读取的文本?

有个问题

读取一个文本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 编辑 ]

希望B.txt变成啥样?
Do All in Command Line

TOP

第一段是指ping的结果的哪一段?
Do All in Command Line

TOP

刚才问题问错了现在更正了

TOP

谢谢又被重新开放

记住了!

TOP

  逐行删除用纯批处理来做很费事,既然把ping过的IP段写入了B.txt,为什么还一定要把A.txt中相应的内容删掉呢?直接在最后删掉A.txt不是一样的效果么?楼主不妨把真实的目的说说,可能会有更好的方案。
尺有所短寸有所长,学好批处理没商量;
考虑问题复杂化,解决问题简洁化。

心在天山,身老沧州。

TOP

直接把A.txt里面的内容复制到B.txt里面,再清空A.txt不就行了吗,干嘛非得ping一下呢?
Do All in Command Line

TOP

楼主的意思是能PING通就把IP写到B.txt并删除,如果不能就保留?

TOP

可能 就是 楼上的意思,我也想知道 这样要怎么写。

TOP

  1. @echo off
  2. set /p ip=<a.txt|| exit
  3. more +1 a.txt >c.txt
  4. move c.txt a.txt
  5. ping %ip%&&echo %ip%>>b.txt
  6. %0
复制代码
不知道这个是否可以?
将ping完的这一行提取到B.txt

这一句我也是按照PING通就把IP写到B.txt来处理的。

[ 本帖最后由 sysplay 于 2010-3-17 21:38 编辑 ]

TOP

回复 10楼 的帖子

这样频繁的文件操作和调用自身是不是太浪费系统资源了?直接用 for /f 来遍历文本会比较快吧。
Do All in Command Line

TOP

原帖由 BatCoder 于 2010-3-17 21:58 发表
这样频繁的文件操作和调用自身是不是太浪费系统资源了?直接用 for /f 来遍历文本会比较快吧。
对,确实是浪费系统资源。谢谢。

TOP

返回列表