- 帖子
- 34
- 积分
- 244
- 技术
- 0
- 捐助
- 0
- 注册时间
- 2008-8-26
|
karaoke.tag('歌名', '五月的鲜花');
karaoke.tag('缩写', 'WYDXH');
karaoke.tag('歌手', '红兰');
karaoke.tag('字数', '5');
karaoke.tag('语种', '国语');
karaoke.tag('歌类', '男人');
karaoke.tag('电影', 'False');
karaoke.tag('风格', '流行');
karaoke.tag('流行', 'True');
karaoke.tag('音量', '200');
karaoke.tag('声道', '2');
karaoke.tag('语音', '0');
karaoke.tag('介质', '10');
karaoke.tag('时间', '2008-9-5');
karaoke.tag('歌星拼音', '');
karaoke.mtvmode :=true;
karaoke.videofilename := '';
karaoke.audiofilename := '*.wav';
karaoke.XSDVideoMode := 4;
karaoke.CommonVideo := '100484.mpg';
请问如何将最后一行中“100484”替换为第一行中的“五月的鲜花”,这是一堆文件,需要一个批处理程序。请帮忙。.改完应成这样:
karaoke.tag('歌名', '五月的鲜花');
karaoke.tag('缩写', 'WYDXH');
karaoke.tag('歌手', '红兰');
karaoke.tag('字数', '5');
karaoke.tag('语种', '国语');
karaoke.tag('歌类', '男人');
karaoke.tag('电影', 'False');
karaoke.tag('风格', '流行');
karaoke.tag('流行', 'True');
karaoke.tag('音量', '200');
karaoke.tag('声道', '2');
karaoke.tag('语音', '0');
karaoke.tag('介质', '10');
karaoke.tag('时间', '2008-9-5');
karaoke.tag('歌星拼音', '');
karaoke.mtvmode :=true;
karaoke.videofilename := '';
karaoke.audiofilename := '*.wav';
karaoke.XSDVideoMode := 4;
karaoke.CommonVideo := '五月的鲜花.mpg';
具体操作时发现,第一行的内容有时不在第一行,并且最后一行的数字也不是同样的位数,有的5位,有的6位,有的3位,请问该如何修改代码?
修改了一下代码:
setlocal enabledelayedexpansion
for %%k in (*.ksc) do (
for /f "tokens=4 delims='" %%m in ('findstr 歌名 "%%k"') do (
set name=%%m
echo %%m
for /f "usebackq delims=;" %%i in ("%%k") do (
set "mark=%%i"&set "mark=!mark:~-4,3!"echo !mark!
if not "!mark!"=="mpg" (echo %%i;>>#%%k) else (
echo karaoke.CommonVideo := '!name!.mpg';>>#%%k
))))
pause
第一个问题处理好了,就是最后的位数不知如何处理,还有就是空行如何处理?就是说,空行原模原样的复制到新文件中。
[ 本帖最后由 mrhxn 于 2009-9-27 18:53 编辑 ] |
|