吴量
【摘要】 本文探讨了几个自主开发的批处理程序在播控自动化管理中的应用。通过一些简单的实例可以看到,短小精悍的批处理能在工作中节省大量人力物力,具有高效率、高稳定性的特点。
【关键词】 批处理 自动化 高效率
一.前言
在播出网络化、数字化的今天,播控系统虽然越来越智能,但也还有不少工作需要人工进行维护。系统维护一般是在WINDOWS界面下去操作完成的,所以很多时候我们都要不断的点击“下一步”或者重复某一步骤来完成一些文件的备份或者软件的安装,这无形中加大了我们的工作量。如果换一个方式,通过批处理在DOS下面操作,经常就会有意想不到的效果。批处理,顾名思义就是一种不需要人工一次次输入,却能够使电脑自动运行一批命令的方式。通过这种方式,或许就能够轻松完成本来需要繁琐操作或者重复操作才能完成的任务。
二.批处理方式实现播控自动化管理
为了简化工作流程、提高工作效率以及操作准确性,我们开发了一系列批处理小程序作为人工辅助,在实际应用中取得了良好的效果。下面我就此进行一些探讨。
播后数据备份是播控的一个重要工作,其一方面能保证资料的完备性,另一方面也方便进行回查。播后数据,比如已播节目单、播出节目录像等经常分处于不同的电脑上,不方便统一管理。如果人工手动进行备份,不但增加管理者的负担,而且因为数据随时不断产生,而工作人员不可能时时刻刻进行备份操作,在某些情况下有可能造成部分数据丢失。为解决这一问题,我们设计了一批处理来代替人工完成此项工作。以CH01频道为例,通过以下步骤,即能完成自动备份:
1. 将备份机与播出机接入局域网同一网段,在备份机D盘根目录下建立一个名为“ListBackCH01”的文件夹,如图1所示。
2. 在CH01播出机上把节目单文件夹所在位置的上级目录设为共享,如图2所示。
3.在备份机上建立CH01共享盘映射(网络驱动器),如图3所示。
4. 准备工作做完,现在进行批处理程序的编写。在D盘根目录新建一文本文件,输入以下代码:
@echo off
:start
set sfolder=O:\autoback\
set bfolder=D:\ListBackCH01\
for/f“delims=”%%i in (‘dir/a-d/od/b%sfolder%\*. lis)do set filename=%%i
for /f “delims=” %%i in (‘dir /a-d /od /b%bfolder%\*.lis) do set filename2=%%i
for %%a in (“%sfolder%%filename%”) do set t1=%%~ta
echo %sfolder%%filename% 更新时间:”%t1%”
for %%a in (“%bfolder%%filename2%”) do set t2=%%~ta
echo %bfolder%%filename2% 更新时间:”%t2%”
if “%t2%” lss “%t1%” (echo 文件有更新,需要拷贝© “%sfolder%%filename%” “%bfolder%”) else (echo 文件没有更新,不需要拷贝)
echo %date:~0,-4% %time:~0,-3%
echo .
ping/n 300 127.1>nul
goto start
5.将文本文件另存为“自动备份已播节目单.bat”。
至此,只要把“自动备份已播节目单.bat”设为自启动,每次备份机重启后不需要人工干预,会自动运行备份批处理程序,实现播后节目单的自动备份,如图4所示。此批处理程序能够对比播出机与备份机上的节目单文件,每当播出机上有新的节目单生成,即自动拷贝到备份机。程序只拷贝特定以“lis”为后缀的文件,能够有效地预防病毒的传播。其每五分钟循环检查一次,只需在上述代码上做少量修改,即可对所有频道进行监控,确保在占用尽量少网络资源的条件下实现数据的及时备份。对于其他分处于局域网各终端的资料文件,亦可采用同样的方式进行备份及归档。
在系统设计中,为了保障播出安全,除了在线的主备播出机外,通常还会额外配置主机作为冷备。但是如果为每台设备单独配置冷备则会产生大量的资源浪费,而如果为一系列具有相同功能的设备只配置一两台冷备的话,由于每台设备配置信息不一样,每次启用时需要根据不同替代对象临时修改,会占用大量时间。此时,运用好批处理就能在节省资源的条件下,快速而准确地完成配置工作,在节省宝贵时间的同时还能有效避免手动操作下的忙中出错。
我们在冷备中,为每台在线设备单独做了一个批处理,需要时视情况的不同选择所需程序运行就可迅速完成配置。此批处理能对系统软硬件进行配置,以修改IP设置为例,在批处理中写入以下代码即可实现:
netsh interface ip set address “本地连接” static 192.168.0.100 255.255.255.0 192.168.0.1
netsh interface ip set dns “本地连接” static 202.216.122.46
netsh interface ip add dns “本地连接” 202.216.122.47
批处理不但能节省操作时间和简化繁复度,还能按照设计去执行程序的运行。安全是播出工作的核心,病毒是播出系统防范的重中之重,因此系统中的杀毒机上会装上不同公司的杀毒软件,进行多重防护。但是,不同杀毒软件之间有可能会产生冲突,造成资源争夺,从而导致系统运行缓慢甚至网络堵塞。此时,我们用批处理的方式,在不同杀毒软件并存的情况下,避免其同时启用。下面以瑞星杀毒软件和金山毒霸并存,启动其中某一个的同时让另一个自动退出为例说明。
要完成这一任务,需用到Windows XP下的命令提示符工具:Taskkill,它的作用是结束一个或多个任务或进程。首先假设金山毒霸正在运行,现在需启动瑞星。
建立批处理文件,在其中输入以下内容:
start taskkill/f/t/ KAVStart.exe
path=%path%; C:\program files\rising
start Rav.exe
其中,“KAVStart.exe”为金山毒霸在任务管理器中的进程名称,“C:\program files\rising”为瑞星杀毒软件安装目录,“Rav.exe”是瑞星主程序,“/f/t”参数能够确保强制关闭进程及其子进程。
将此批处理程序另存为“瑞星.bat”,在桌面上建立快捷方式并修改为瑞星图标后,替换原瑞星软件启动快捷方式,如图5、图6、图7所示。以后,每当从此快捷方式运行瑞星时,金山毒霸会自动退出。同理,再建一个金山毒霸的批处理快捷方式,则可实现两杀毒软件并存且永不同时启用。杀毒软件相互规避只是批处理控制应用软件的一例,其他例如某几个软件需要相互配合使用时,可做在批处理中,通过一快捷方式同时启动;当有些时候在一个软件或功能关闭时,需要同时关闭为其服务的其他软件以节约资源,也可通过批处理来快速操作。
此外,根据工作计划,有些工作站需要定时重启或者定时关机,可以通过批处理实现;有些系统限制使用,在非工作时间不能开机,也能以批处理的方式实现。
三.总结
以上只是批处理在播控系统中的部分应用,可以看到,简简单单的几句代码,就能为我们的工作带来极大的便利。仔细发掘,会发现其更多妙用之处,在省时省力的同时能大大提高工作效率。在WINDOWS大行其道的今天,DOS批处理就像饭后甜点,虽然不起眼,但利用得好总是可以起到画龙点睛的效果。