Board logo

标题: [文件操作] [已解决]批处理如何删除文件中指定的行? [打印本页]

作者: summerflower    时间: 2010-2-1 00:03     标题: [已解决]批处理如何删除文件中指定的行?

如题,我指定行数,然后删除文件中对应的行。
怎样实现更加高效?

[ 本帖最后由 summerflower 于 2010-3-1 18:45 编辑 ]
作者: sysplay    时间: 2010-2-1 17:27

  1. @echo off
  2. setlocal enabledelayedexpansion
  3. set /p n=输入n:
  4. set count=0
  5. for /f "tokens=*" %%i in (a.txt) do (
  6. set /a a+=1
  7. if not "!a!"=="%n%" echo %%i>>b.txt
  8. )
复制代码

这应该是通常的办法,我也想知道高效的办法。

[ 本帖最后由 sysplay 于 2010-2-1 17:28 编辑 ]
作者: Batcher    时间: 2010-2-1 19:54

  1. @echo off
  2. set /p row=Input the row to be removed:
  3. sed -i "%row%d" a.txt
复制代码
第三方命令行工具 sed.exe 下载地址:
http://bbs.bathome.net/thread-1114-1-1.html




欢迎光临 批处理之家 (http://www.bathome.net/) Powered by Discuz! 7.2