摘 要:本文依照日常工作需要,通过巧用批处理命令编写批处理程序,解决在EPG信息导入时手工编辑节目单繁琐、易出错的问题。 【关键词】数字电视 EPG信息 1 引言 1.1 研究背景 广播电视正向三化(数字化、网络化、智能化)的方向发展,数字电视的发展给广播电视行业带来了全新的运营、管理模式和理念,数字电视已成为广播电视发展的必然趋势。其中,EPG(电子节目指南, Electrnic Program Guide的缩写)通过EPG,观众就能够方便地找到自己喜欢的节目,这就是数字电视与模拟电视的主要区别之一,EPG是数字电视交互业务中非常重要的一个应用,它与音、视频节目一样,是数字电视的基本业务,被业界认为是数字电视的标志。EPG 给客户提供界面友好、容易使用、可以快速访问所关注节目的一种方式,用户还可以因此看到一个或多个频道甚至所有频道上近期将要播放的电视节目。此外,EPG还可包含节目价格、节目附加信息、节目分类、节目预定以及家长分级控制等高级功能,让数字电视用户享受到了更好的电视服务。 1.2 问题提出及现实意义 在实际运营的之中,EPG信息有个制作流程, EPG信息来源主要有两个途径:一、是来自于专业做EPG信息的公司;二、是从互联网络中获取;但无论是那一种途径来的EPG信息,如要进行批量导入,均需要运营商进行节目单名称按照规范更改名称这一步骤,如中央电视一频道(CCTV-1)在网络PID为1的、TS流PID为1、节目PID为101,则该节目名称将改为:1_1_101;通常,运营商节目数量均在五十套以上,甚至在二百套以上;因此,这一工作量非常大,而且较容易出错。编写这个更名程序在一定程度上可以减轻工作人员的工作强度,同时亦可以在一定程度保证EPG信息的准确性。 2 实现方法 2.1 实现的批处理命令 批处理文件是将一系列命令按一定的顺序集合为一个可执行的文本文件,其扩展名为BAT。现将程序中涉及到的批处理程序命令做简要介绍: Echo 命令:打开或关闭请求回显功能,或者是显示消息。如没有参数,echo 命令就会显示当前的回显设置。在实际应用中我们会把这条命令和重定向符号(也称为管道符号,一般用> >> )结合来实现输入一些命令到特定格式的文件中。 2.2 Pause 命令 运行 Pause 命令时,将显示:Press any key to continue . . . 2.3 Goto 命令 指定跳转到标签,找到标签后,程序将处理从下一行开始的命令。 语法:goto label (label是参数,指定所要转向的批处理程序中的行。) 标签的名字可以任意起,但要便于记忆和理解,字母前加个:用来表示这是标签,goto命令就是根据这个:来寻找下一步跳到什么地方。最好有说明,这样便于理解你的意图。 2.4 If 命令 if将判断是否符合相应的条件,从而决定执行不同的命令。 有三种格式: (1)if "参数" == "字符串" (注:是两个等号)待执行的命令参数如等于指定的字符串,那么条件成立,执行命令,否则执行下一句。 (2)if exist 文件名待执行的命令 如果有指定的文件,则条件成立,执行命令,否则执行下一句。 (3)if errorlevel / if not errorlevel 数字 待执行的命令如果返回值与指定的数字等于,则条件成立,执行命令,否则执行下一句。 2.5 for 命令 for 命令是一个比较复杂的命令,主要用于参数在指定的范围内循环执行命令。 在批处理文件中使用 FOR 命令时,指定变量请使用 %%variable而不要用 %variable,因为变量名称是大小写敏感的。 3 程序主要代码 @ECHO OFF color 2F echo echo. echo 文件更名所需操作:请从中央电视台网站下载最新节目表,并解压缩;在D盘下新建EPG节目单文件夹; 3.将解压缩的文件放至D:\EPG\节目单目录下;需将此批处理文件与EPG_TSID.txt放在同一目录下 echo. echo SET /P ST= 请确认已进行完成以上操作,请按 Y (继续)或 N (退出): echo. if /I "%ST%"=="Y" goto ST if /I "%ST%"=="N" goto EX :ST echo 即将进行文件更名操作,请稍后...... echo. echo cd D:\EPG\节目单\ FOR /F "tokens=1,2 delims=," %%a IN (D:\EPG\EPG节目更名程序\EPG_TSID.txt) DO (IF EXIST "%%a% %.txt" ( REN "%%a% %.txt" %%b% %.txt )) if exist D:\EPG\节目单\04(欧洲版).txt del D:\EPG\节目单\04(欧洲版).txt ………… if not exist D:\EPG\节目单(已修改)\ md d:\EPG\节目单(已修改)\ move D:\EPG\节目单\1_*.txt d:\EPG\节目单(已修改)\ echo 文件更名操作已完成! echo. echo文件已存入d:\EPG\节目单(已修改) echo. goto QU :EX color 3A echo echo. echo抱歉,即将退出本程序,请完成所需操作后再运行本程序!! echo. goto QU :QU pause 4 结束语 虽然,这批处理文件命令很简单,但这个更名程序在一定程度上可以减轻工作人员的工作强度,同时亦可以在一定程度保证EPG信息的准确性。让我们在工作中,多发现问题,思考问题并用一些小工具来解决这些问题,让我们轻松地工作吧!