标题: [文本处理] [已解决]批处理如何批量按照分隔符分割文件,多余内容舍去? [打印本页]
作者: Dana 时间: 2011-10-12 22:07 标题: [已解决]批处理如何批量按照分隔符分割文件,多余内容舍去?
本帖最后由 Dana 于 2011-10-14 15:20 编辑
现在有很多txt 文件需要处理, 但是有些txt 文件不是标准的格式, 存在多余的部分, 现在需要将这些多余的内容舍去,处理后需要覆盖原文件.
原始文件请参考附件. 原始文件行数会变化, 只能通过 "+++++++" 提取
处理后的数据: 需要25行, 包括空行. 我只需要第一个 "++++++++++" 和第二个 "++++++++++++" 中间的数据, 其他的舍弃.
作者: weichenxiehou 时间: 2011-10-12 22:43
本帖最后由 weichenxiehou 于 2011-10-12 22:46 编辑
- @echo off&setlocal enabledelayedexpansion
- for /f "skip=1 delims=:" %%i in ('findstr /n "+++++" test.txt') do set num=%%i&goto :next
- :next
- (for /l %%i in (1 1 %num%) do (
- set/p str=
- echo,!str!
- ))<test.txt>new.txt
- start new.txt
复制代码
作者: 601997526 时间: 2011-10-13 10:25
用P显示文本经常会出些特殊字符或编码的问题- @echo off&setlocal enabledelayedexpansion
- (for /f "delims=" %%i in (test.txt) do (if !n! equ 1 echo.%%i
- echo.%%i|findstr "^+ *$" >nul&&set /a n+=1
- ))2>nul
- pause
复制代码
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |