Board logo

标题: [文本处理] [已解决]批处理提取文本特定字符行间的内容并依次输出单独文本 [打印本页]

作者: useinter    时间: 2017-7-30 23:02     标题: [已解决]批处理提取文本特定字符行间的内容并依次输出单独文本

本帖最后由 pcl_test 于 2017-8-1 19:32 编辑

问题是这样的,
需要从头到尾输出文本内两行#号之间的内容单独为一个文本(不包含#号),并按照1.txt 2.txt等命名输出

不知道能不能实现,#号间内容格式不固定,有空行,也有空格,也有英文,汉字。
如果需要别的符号判定,#可以替换为别的也可以。
搜索了半天没找到批处理,发帖求助下大家,十分感谢,十分感谢
百度取消了分享主页的内容,又死了一批资源。唉。


文本示例:
################################################################################
医学考研2015春季基础课 生理学 王强视频教程
〈img〉http:〈/img〉
课程简介:
课时1 生理01(绪论).mp4
################################################################################
研大2017隋准西综内科强化视频教程
课程简介:
17隋准西综内科强化
################################################################################
四川大学 营养课 完整版 8套营养学 视频教程
[img][/img]
课程简介:
################################################################################

示例文本下载:
百度网盘
链接: http://pan.baidu.com/s/1bpq4sUj 密码: wmr3
作者: 文哥    时间: 2017-7-31 04:17

短短六行代码,却花了整整四个小时。祝楼主使用顺利~
楼主百度网盘发的文本是UTF-8的编码,放在bat里调用文本会出现乱码。我给保存为了ANSI编码,完美运行。
上传到百度网盘了~
链接:http://pan.baidu.com/s/1mhPNAac 密码:5jng
作者: useinter    时间: 2017-7-31 17:55

回复 2# 文哥


    文哥,刚看到回复,十分感谢帮助,真是不知道怎么感谢,真心祝福一切好,如一切愿
作者: 文哥    时间: 2017-8-1 13:57

回复 3# useinter


    能用吗?一切正常吗?有哪些需要改进吗?你要是能说能用,很好用,肯定了我的代码。哈哈哈哈,那绝对是我最大的感谢哈哈哈哈~
作者: 文哥    时间: 2017-8-1 19:25

回复 3# useinter


    我自己又检查了一下 一个错误 for语句没有加"delims=” 导致许多行空格后的内容无法输出到文本内。这次把修复好的代码发来。

@echo off&setlocal enabledelayedexpansion&title 提取#中的内容
set b=1
md log 2>nul
del /q log
for /f "delims=" %%a in (医.txt) do set a=%%a&if not "!a:~0,1!"=="#" (echo !a!>>log\!b!.txt) else (set /a b+=1)
set /p=已完成
作者: useinter    时间: 2017-8-3 00:17

回复 5# 文哥


    多谢文哥,可以使用,第一个第二个都可以使用,六千多个文件,没有比对,已经十分感谢了,祝好




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