过期罐头电脑论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 7465|回复: 0
收起左侧

批量删除任意文本文件空行或前几行的批处理程序

[复制链接]
艾穆魄 2013-6-26 15:14:49 | 显示全部楼层
在计算的时候经常需要将output文件中的一些无用头部信息删掉,以便从中提取数据进行下一步计算。如果*.txt, *.log 或*.out之类的文件很多,要一个个打开删除之必然很费时费力。这是可通过编写BAT批处理文件实现批量删除文本文件或任意文件的前几行内容。

将以下代码复制到记事本或ultraedit中,另存为*.bat 批处理程序文件后双击运行之即可:
  1. <font face="新宋体">[url=home.php?mod=space&uid=18493]@Echo[/url] OFF
  2. SET TxtDir="d:\folder"
  3. SET /A N=2
  4. ECHO 删除行操作开始...
  5. CD /D %TxtDir%
  6. FOR /F "tokens=1 delims=" %%I IN ('DIR /A /B *.txt') DO ((MORE +%N% "%%I">"%%I_")&(DEL /A /F /Q "%%I")&(REN "%%I_" "%%I"))
  7. ECHO 恭喜,执行任务结束。
  8. PAUSE</font>
复制代码


上述代码中,根据情况不同需要修改三处地方:第二行“TxtDir="d:\folder"”部分表示文本文件所在的路径,在第三行中的“/A N=2”中可设置需要删除的前N行的数目,第六行中的“*.txt”表示需要读取的文本文件的扩展名,可支持任意扩展名。

如果需要删除任意文本文件中的空行,则可将下面的代码做出bat批处理文件后运行即可:
  1. <font face="新宋体">@echo off
  2. for %%a in (*.txt) do (
  3. for /f "tokens=*" %%b in ('type "%%a"') do echo %%b>>"1%%a"
  4. del "%%a"
  5. ren "1%%a" "%%a"
  6. )</font>
复制代码

当然,还有一些第三方工具,比如在线编辑器Sed、中文编辑排版专家DreamEdit 亦可实现,但远不如批处理文件来得轻便。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

一键重装系统|雨人系统下载|联系我们|网站地图|过期罐头电脑论坛

GMT+8, 2024-4-19 15:45 , Processed in 0.031339 second(s), 25 queries .

官方免责声明:本站内容来自网友和互联网.若侵犯到您的版权.请致信联系,我们将第一时间删除相关内容!

Powered by Discuz!

专注于win7_win10_win11系统下载装机

© 2010-2023 GQGTPC.Com

快速回复 返回顶部 返回列表