最近经常玩批处理(BAT):生成XML实例(Flash播放列表)

2009/6/3 23:51:24


阅读全文(4506) | 回复(2) | 编辑 | 精华

刚下了本教程,100多个SWF文件,文件名1.swf,2.swf,....,n.swf,偶然在同公司出版的教程中,找到了相关的播放器,同时发现播放器通过读取XML做的目录来列表播放。然而此前的教程只有文本格式的目录,难道要手动创建?总不能一个个查找和播放吧?这样唯恐学习的积极性都没了。 没关系,批处理来帮忙。 文本目录.txt:-------------------------第一章 基础第1集 初识XML第2集 基本语法第3集 特殊字符第二章 进阶第4集 DTD第5集 XML Schema 第6集 XSL-------------------------- 要将文本目录转换成如下的播放列表: 播放列表.xml:--------------------------<?xml version="1.0" encoding="gb2312"?> <tree>     <none label="第一章 基础">         <none label="第1集 初识XML" src="movies/1.swf"/>         <none label="第2集 基本语法" src="movies/2.swf"/>         <none label="第3集 特殊字符" src="movies/3.swf"/> </none>     <none label="第二章 进阶">         <none label="第4集 DTD" src="movies/4.swf"/>         <none label="第5集 XML Schema " src="movies/5.swf"/>         <none label="第6集 XSL" src="movies/6.swf"/>     </none> </tree> -------------------------- 分析文本目录和播放列表的逻辑关系,可以得到如下具体实现: 具体实现.bat:--------------------------@echo off rem 启用延迟的环境变量 setlocal enabledelayedexpansion echo ^<?xml version="1.0" encoding="gb2312"?^> > 播放列表.xml echo ^<tree^> >> 播放列表.xml set n=0 for /f "delims=" %%i in (文本目录.txt) do ( rem 必须包含delims,否则丢弃空格后字符 set str=%%i rem echo !str:~2,1! if "!str:~2,1!" neq "章" ( set/a n+=1 & echo         ^<none label="%%i" src="movies/!n!.swf"/^> >> 播放列表.xml ) else ( if !n! neq 0 echo ^</none^> >> 播放列表.xml echo     ^<none label="%%i"^> >> 播放列表.xml ) ) echo     ^</none^> >> 播放列表.xml echo ^</tree^> >> 播放列表.xml pause-------------------------- 而实际上,将XML的encoding设为gb2312&文件编码设为ANSI时,播放器并不认。二者均改为UTF-8则被播放器所识别。具体是不是因为Flash播放器的问题不得而知。本文只关心批处理的实现,不深究Flash与编码的关系。 注意:BAT不支持非ANSI字符集,需手动调整。 Author:http://Qr.blogger.org.cn

Qr

Posted by Qr on 2009/6/3 23:51:24

回复:最近经常玩批处理(BAT):生成XML实例(Flash播放列表)

2009/6/4 10:11:43


个人主页 | 引用回复 | 主人回复 | 返回 | 编辑 | 删除

两个批处理,都是批量处理的意思;但具体处理什么,怎么处理,就不一样了。---------------Qr搞了一个这个,蛮有意思的。博主 Qr 提示:---------------------------------------您还没有登录博客,没有发表留言的权限!---------------------------------------   以下为blog主人的回复:  不能绝对,但在应对垃圾广告和信息上起到一定的作用:-)

徐涵(Han Xu)

Posted by 徐涵(Han Xu) on 2009/6/4 10:11:43

回复:最近经常玩批处理(BAT):生成XML实例(Flash播放列表)

2009/6/4 8:18:29

我同事给我一个处理相片的软件,有批处理,到现在我也不会弄。我看不懂你你写的,不是一个含义吧。     以下为blog主人的回复:  不是。图片软件上的批处理是一种功能,可以对不同的图片应用同样的处理;而我这里的批处理,是一种纯代码的编程过程,同样可以进行批量处理。

烟雨朦胧

Posted by 烟雨朦胧 on 2009/6/4 8:18:29

» 1 »

发表评论:
昵称:
密码:
主页:
标题:
验证码:  (不区分大小写,请仔细填写,输错需重写评论内容!)
站点首页 | 联系我们 | 博客注册 | 博客登陆

Sponsored By W3CHINA
W3CHINA Blog 0.8 Processed in 0.375 second(s), page refreshed 144758214 times.
《全国人大常委会关于维护互联网安全的决定》  《计算机信息网络国际联网安全保护管理办法》
苏ICP备05006046号