标题: [文本处理] [已解决]批处理如何在KSC文件固定位置批量替换内容 [打印本页]
作者: hold2012 时间: 2013-3-15 11:23 标题: [已解决]批处理如何在KSC文件固定位置批量替换内容
本帖最后由 hold2012 于 2013-3-19 05:22 编辑
批处理如何在KSC文件固定位置批量替换内容!
karaoke := CreateKaraokeObject;
karaoke.internalnumber := 806834; // 歌曲编号
karaoke.rows := 2;
karaoke := CreateKaraokeObject;
karaoke.clear;
karaoke.tag('歌名', '猫鼠之恋');
karaoke.tag('缩写', 'MSZL');
karaoke.tag('歌手', '水水');
karaoke.tag('字数', '4');
karaoke.tag('语种', '国语');
karaoke.tag('歌类', '其他');
karaoke.tag('电影', 'false');
karaoke.tag('风格', '儿歌');
karaoke.tag('流行', 'true');
karaoke.tag('音量', '38');
karaoke.tag('声道', '21');
karaoke.tag('FMP声道', '32');
karaoke.tag('语音', '0');
karaoke.tag('介质', '0');
karaoke.tag('时间', '2013-3-15');
karaoke.tag('歌星拼音', 'SS');
karaoke.tag('原音', '38');
karaoke.tag('伴音', '38');
karaoke.tag('歌词', ' ');
karaoke.tag('亮度', '0');
karaoke.tag('对比度', '0');
karaoke.tag('饱和度', '0');
karaoke.tag('标识', 'MTV');
karaoke.mtvmode :=true;
karaoke.videofilename := '';
karaoke.audiofilename := '*.wav';
karaoke.XSDVideoMode := 0;
karaoke.CommonVideo := '水水-猫鼠之恋(MTV)-国语-806834.mpg';
能不能做个批处理,把多个文件夹下的KSC文件的这行【karaoke.tag('歌名', '猫鼠之恋');】
【');】替换成【(KTV)');】
改好后是karaoke.tag('歌名', '猫鼠之恋(KTV)');
多个文件如下:
karaoke := CreateKaraokeObject;
karaoke.internalnumber := 806834; // 歌曲编号
karaoke.rows := 2;
karaoke := CreateKaraokeObject;
karaoke.clear;
karaoke.tag('歌名', '中国人');
karaoke.tag('缩写', 'MSZL');
karaoke.tag('歌手', '刘德华');
karaoke.tag('字数', '3');
karaoke.tag('语种', '国语');
karaoke.tag('歌类', '其他');
karaoke.tag('电影', 'false');
karaoke.tag('风格', '儿流行');
karaoke.tag('流行', 'true');
karaoke.tag('音量', '38');
karaoke.tag('声道', '21');
karaoke.tag('FMP声道', '32');
karaoke.tag('语音', '0');
karaoke.tag('介质', '0');
karaoke.tag('时间', '2013-3-15');
karaoke.tag('歌星拼音', 'SS');
karaoke.tag('原音', '38');
karaoke.tag('伴音', '38');
karaoke.tag('歌词', ' ');
karaoke.tag('亮度', '0');
karaoke.tag('对比度', '0');
karaoke.tag('饱和度', '0');
karaoke.tag('标识', 'MTV');
karaoke.mtvmode :=true;
karaoke.videofilename := '';
karaoke.audiofilename := '*.wav';
karaoke.XSDVideoMode := 0;
karaoke.CommonVideo := '刘德华-中国人(MTV)-国语-806834.mpg';
作者: Marks 时间: 2013-3-15 13:01
改含"歌名"这行???- @echo off
- for /f "delims=" %%a in ('dir /b /a-d *.ksc') do (
- (for /f "delims=" %%i in ('findstr /n .* "%%a"') do (
- set "str=%%iA"
- setlocal enabledelayedexpansion
- set "str=!str:*:=!"
- if "!str:'歌名'=!" neq "!str!" (
- set "str=!str:');=(KTV)');!"
- echo;!str:~,-1!
- ) else echo;!str:~,-1!
- endlocal
- ))>$$.tmp
- move $$.tmp "%%a"
- )
- pause
复制代码
作者: BAT-VBS 时间: 2013-3-15 13:15
- @echo off
- setlocal enabledelayedexpansion
- for /f "delims=" %%a in ('dir /s /b *.KSC') do (
- (for /f "usebackq tokens=1-2 delims=," %%b in ("%%a") do (
- if "%%c" equ "" (
- echo %%b
- ) else if "%%b" equ "karaoke.tag('歌名'" (
- set str=%%c
- set "str=!str:');=(KTV)');!"
- echo %%b,!str!
- ) else (
- echo %%b,%%c
- )
- ))>%%~na_new.KSC
- )
复制代码
作者: hold2012 时间: 2013-3-18 22:31
回复 2# Marks
是这样得,成功修改好了,谢谢
作者: BAT-VBS 时间: 2013-3-18 22:53
回复 4# hold2012
问题解决后,请编辑顶楼帖子在标题前面注明[已解决],并给回答者加分。
欢迎光临 批处理之家 (http://bbs.bathome.net/) |
Powered by Discuz! 7.2 |