[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[文本处理] 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文件的关联文件...我想批量提取其中的歌手名..还有歌名...然后集中在一个记事本内..

望高手指点指点........还有..本人是个菜得不得了的菜鸟...所以大虾门...尽量有多清楚最好是写得多清楚哈...

小弟在此谢过了............
~~~~~~!!!!!!!!~~~~~~~~!!!!!!!!

歌曲

这个是文件列表,
我进行批处理之后,导出的gequ.txt内容不是按顺序的。

补充一下:就是说,进行批处理的时候,它能不能按着顺序来提取,然后它提取出来的文字又可以按着这个顺序来排列。这样的话,我到时候改歌名的话,就可以按着他所提取文字的顺序来改了。谢谢
~~~~~~!!!!!!!!~~~~~~~~!!!!!!!!

TOP

没按歌曲的顺序?
什么意识?
技术问题请到论坛发帖求助!

TOP

谢谢两位!有个问题,我用了随风大大的批处理之后,有部分内容提取 没按歌曲的顺序,  我想问下这批处理是按什么顺序提取的?
~~~~~~!!!!!!!!~~~~~~~~!!!!!!!!

TOP

:
  1. @echo off&cd.>gequ.txt
  2. for %%i in (*.ksc) do (
  3.   for /f "tokens=2,4 delims='" %%a in ('type "%%i"') do (
  4.     if /i "%%a"=="歌名" set gm=%%b
  5.     if /i "%%a"=="歌手" set gs=%%b
  6.   )
  7.   >>gequ.txt call echo %%gs%%  %%gm%%
  8. )
  9. start gequ.txt
复制代码

[ 本帖最后由 随风 于 2008-3-3 18:19 编辑 ]
1

评分人数

技术问题请到论坛发帖求助!

TOP

对于单篇文章的歌手、歌曲提取代码:
  1. @echo off &setlocal enabledelayedexpansion
  2. call :ReadFile 5 MusicName
  3. call :ReadFile 8 Singer
  4. echo 歌曲名:%MusicName%      歌手:%Singer%
  5. pause>nul
  6. :'/*/////////////读取文件指定行/////////
  7. :'/*注意:本函数没有通用性,没考虑空行等;
  8. :ReadFile line res
  9. for /f "skip=%1 delims=" %%i in (test.txt) do (
  10.   set "var=%%i"
  11.   for /f "delims=' tokens=4" %%a in ("!var!") do set %2=%%a
  12.   goto :eof
  13. )
复制代码
如果要处理一系列文件,只要再稍微改动,用一个for循环即可!!
1

评分人数

TOP

回复 2楼 的帖子

我知错了,以后决不用"跪求"
我刚才发的是其中一个文本的内容,这种文本有很多,他们是一组递进形式的文件.比如:   
"1.ksc       2.ksc.............."文本的格式全部是一样的.
我想提取的就是 (张惠妹BAD BOY).
~~~~~~!!!!!!!!~~~~~~~~!!!!!!!!

TOP

提几点建议:
1、不要使用 “跪求”等丧失尊严的词语!
2、把你的问题尽量描述清楚,不要使用“....”以求简便,除非它们是同一类别的。

说实在话,我确实没弄清楚,你要处理的这个关联文件究竟是单个的,还是一类(很多个类似文件)的?

TOP

返回列表