标题: [文本处理] BAT如何批量提取文本中的某段语句? [打印本页]
作者: bdwg 时间: 2008-3-3 12:44 标题: BAT如何批量提取文本中的某段语句?
karaoke := CreateKaraokeObject;
karaoke.rows := 2;
karaoke := CreateKaraokeObject;
karaoke.clear;
// 歌曲附加信息(便于检索)
karaoke.tag('歌名', 'BAD BOY');
karaoke.internalnumber := 6559; // 歌曲编号
karaoke.tag('缩写', 'BADBOY');
karaoke.tag('歌手', '张惠妹');
karaoke.tag('字数', '2');
karaoke.tag('语种', '国语');
karaoke.tag('歌类', '男人');
karaoke.tag('电影', 'false');
karaoke.tag('风格', '流行');
karaoke.tag('流行', 'true');
karaoke.tag('音量', '80');
karaoke.tag('声道', '2');
karaoke.tag('语音', '0');
karaoke.tag('介质', '10');
karaoke.tag('时间', '2000-09-20');
karaoke.tag('歌星拼音', 'Z');
karaoke.mtvmode :=true;
karaoke.videofilename := '';
karaoke.audiofilename := '*.wav';
karaoke.XSDVideoMode := 4;
karaoke.CommonVideo := '00001.rmvb';
这是个MTV文件的关联文件...我想批量提取其中的歌手名..还有歌名...然后集中在一个记事本内..
望高手指点指点........还有..本人是个菜得不得了的菜鸟...所以大虾门...尽量有多清楚最好是写得多清楚哈...
小弟在此谢过了............
作者: youxi01 时间: 2008-3-3 13:16
提几点建议:
1、不要使用 “跪求”等丧失尊严的词语!
2、把你的问题尽量描述清楚,不要使用“....”以求简便,除非它们是同一类别的。
说实在话,我确实没弄清楚,你要处理的这个关联文件究竟是单个的,还是一类(很多个类似文件)的?
作者: bdwg 时间: 2008-3-3 13:42 标题: 回复 2楼 的帖子
我知错了,以后决不用"跪求"
我刚才发的是其中一个文本的内容,这种文本有很多,他们是一组递进形式的文件.比如:
"1.ksc 2.ksc.............."文本的格式全部是一样的.
我想提取的就是 (张惠妹BAD BOY).
作者: youxi01 时间: 2008-3-3 17:46
对于单篇文章的歌手、歌曲提取代码:- @echo off &setlocal enabledelayedexpansion
-
- call :ReadFile 5 MusicName
- call :ReadFile 8 Singer
-
- echo 歌曲名:%MusicName% 歌手:%Singer%
- pause>nul
- :'/*/////////////读取文件指定行/////////
- :'/*注意:本函数没有通用性,没考虑空行等;
- :ReadFile line res
- for /f "skip=%1 delims=" %%i in (test.txt) do (
- set "var=%%i"
- for /f "delims=' tokens=4" %%a in ("!var!") do set %2=%%a
- goto :eof
- )
复制代码
如果要处理一系列文件,只要再稍微改动,用一个for循环即可!!
作者: 随风 时间: 2008-3-3 18:03
:- @echo off&cd.>gequ.txt
- for %%i in (*.ksc) do (
- for /f "tokens=2,4 delims='" %%a in ('type "%%i"') do (
- if /i "%%a"=="歌名" set gm=%%b
- if /i "%%a"=="歌手" set gs=%%b
- )
- >>gequ.txt call echo %%gs%% %%gm%%
- )
- start gequ.txt
复制代码
[ 本帖最后由 随风 于 2008-3-3 18:19 编辑 ]
作者: bdwg 时间: 2008-3-11 16:08
谢谢两位!有个问题,我用了随风大大的批处理之后,有部分内容提取 没按歌曲的顺序, 我想问下这批处理是按什么顺序提取的?
作者: 随风 时间: 2008-3-11 17:00
没按歌曲的顺序?
什么意识?
作者: bdwg 时间: 2008-3-11 18:09 标题: 歌曲
这个是文件列表,
我进行批处理之后,导出的gequ.txt内容不是按顺序的。
补充一下:就是说,进行批处理的时候,它能不能按着顺序来提取,然后它提取出来的文字又可以按着这个顺序来排列。这样的话,我到时候改歌名的话,就可以按着他所提取文字的顺序来改了。谢谢
欢迎光临 批处理之家 (http://bathome.net./) |
Powered by Discuz! 7.2 |