Board logo

标题: [文本处理] 批处理如何批量修改文本内容 [打印本页]

作者: hold2012    时间: 2014-8-14 22:10     标题: 批处理如何批量修改文本内容

karaoke := CreateKaraokeObject;
karaoke.internalnumber := 00000000;  // 歌曲编号
karaoke.rows := 2;
karaoke := CreateKaraokeObject;
karaoke.clear;

// 歌曲附加信息(便于检索)
karaoke.tag('歌名', '点滴(HD720)');
karaoke.tag('缩写', 'DD');
karaoke.tag('歌手', 'SUPPER_MOMENT');
karaoke.tag('字数', '2');
karaoke.tag('语种', '粤语');
karaoke.tag('歌类', '合唱');
karaoke.tag('电影', 'false');
karaoke.tag('风格', '影视插曲');
karaoke.tag('流行', 'true');
karaoke.tag('音量', '70');
karaoke.tag('声道', '21');
karaoke.tag('FMP声道', '32');
karaoke.tag('语音', '0');
karaoke.tag('介质', '0');
karaoke.tag('时间', '2012-12-20');
karaoke.tag('歌星拼音', '');
karaoke.tag('原音', '29');
karaoke.tag('伴音', '29');
karaoke.tag('歌词', '');
karaoke.tag('亮度', '50');
karaoke.tag('对比度', '50');
karaoke.tag('饱和度', '50');
karaoke.tag('标识', 'MTV');
karaoke.mtvmode :=true;
karaoke.videofilename := '';
karaoke.audiofilename := '*.wav';
karaoke.XSDVideoMode := 4;
karaoke.CommonVideo := '4900001.mpg';

能不能做个批处理,把多个文件夹下的KSC文件删掉这部分,
文本1:
karaoke := CreateKaraokeObject;
karaoke.internalnumber := 00000000;  // 歌曲编号
karaoke.rows := 2;
karaoke := CreateKaraokeObject;
karaoke.clear;
文本2:
karaoke := CreateKaraokeObject;
karaoke.internalnumber := 945875;  // 歌曲编号
karaoke.rows := 2;
karaoke := CreateKaraokeObject;
karaoke.clear;



完成后的效果是:
// 歌曲附加信息(便于检索)
karaoke.tag('歌名', '点滴(HD720)');
karaoke.tag('缩写', 'DD');
karaoke.tag('歌手', 'SUPPER_MOMENT');
karaoke.tag('字数', '2');
karaoke.tag('语种', '粤语');
karaoke.tag('歌类', '合唱');
karaoke.tag('电影', 'false');
karaoke.tag('风格', '影视插曲');
karaoke.tag('流行', 'true');
karaoke.tag('音量', '70');
karaoke.tag('声道', '21');
karaoke.tag('FMP声道', '32');
karaoke.tag('语音', '0');
karaoke.tag('介质', '0');
karaoke.tag('时间', '2012-12-20');
karaoke.tag('歌星拼音', '');
karaoke.tag('原音', '29');
karaoke.tag('伴音', '29');
karaoke.tag('歌词', '');
karaoke.tag('亮度', '50');
karaoke.tag('对比度', '50');
karaoke.tag('饱和度', '50');
karaoke.tag('标识', 'MTV');
karaoke.mtvmode :=true;
karaoke.videofilename := '';
karaoke.audiofilename := '*.wav';
karaoke.XSDVideoMode := 4;
karaoke.CommonVideo := '4900001.mpg';
作者: CrLf    时间: 2014-8-14 22:22

去下一个 sed 吧,你不会后悔的:
  1. sed -i "/^karaoke := CreateKaraokeObject;$/,/^$/d" *.txt
复制代码

作者: hold2012    时间: 2014-8-14 22:33

回复 2# CrLf


    SED命令怎么运行呢,保存BAT吗?是菜鸟
作者: tommytangtang    时间: 2014-8-14 22:52

同问下,gawk和sed的区别是?同样都是处理文本的
作者: zhanglei1371    时间: 2014-8-14 23:01

gawk和sed的区别:g处理列方面很强;s处理行很强。
若熟练的话。两者都是利器,八成的任务都能做。
bat笨方法:
@echo off& setlocal enabledelayedexpansion
pushd c:\12
for /f "delims=" %%i in (a.txt) do (
echo %%i|findstr /i "歌曲附加信息">nul && set /a yn=1
if !yn! equ 1 echo %%i
)>>c:\tmp.txt
pause




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