Board logo

标题: [文本处理] 求批处理删除e:\1.txt 文件内容的后11行 [打印本页]

作者: xujinrongko    时间: 2018-6-10 16:17     标题: 求批处理删除e:\1.txt 文件内容的后11行

我是小白,求一个批处理可以删除e:\1.txt 文件内容的后11行

不管什么内容,只要删除后面11行文字就可以了,谢谢 :)
作者: 窄口牛    时间: 2018-6-10 17:00

这个你要确认有行,而不是行到底。
作者: yhcfsr    时间: 2018-6-11 10:20

  1. @echo off
  2. ::如果文本有空行,可能会导致结果不正确
  3. ::设置文件路径
  4. set "file=d:\test\data.txt"
  5. for /f "delims=" %%a in ('find /n /v /c ""^<"%file%"') do set "lines=%%a"
  6. if %lines% lss 11 (echo;文件不多于11行(排除空行)&pause&exit)
  7. set/a lines-=11
  8. for /f "delims=" %%a in ('type "%file%"') do (
  9. set/a n+=1
  10. setlocal enabledelayedexpansion
  11. if !n! lss %lines% echo;%%a
  12. endlocal
  13. )
  14. pause  
复制代码





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