〖文章分类:电脑·手机·网络 / 电脑系统安装·设置·优化〗〖阅读选项〗 |
|
网吧的游戏自动更新“系统” 只有两个批处理文件,看看适用吗:)
客户机文件: 奇迹.bat @echo off net use z: \\jjy-y3p897yw3v1\gameup /yes >nul start /m /w z:\chkupdate.bat z: d:\奇迹 qj >nul net use * /delete /yes >nul d: cd \奇迹 main.exe
服务器端自动检测批处理: chkupdate.bat @echo off %1 cd \游戏更新 for %%a in (%3*.) do if not exist %2\%%a set flag=%%a if %flag%!==! goto end echo y|copy %1\游戏更新\%flag% %2 >nul if exist %1\游戏更新\%flag%.exe start /w %1\游戏更新\%flag%.exe >nul :end
就这些,能不能看懂?huhu~~~~ 结合winrar使用。
时间不多,大体说一下,也请同行指点: 服务器端: 目录gameup共享为只读,里面有一个文件,即:chkupdate.bat,这是一个通过的检查游戏更新的批处理文件。在gameup目录下有一“游戏更新”目录,所有的游戏更新包全在这里面。文件命名规则(以奇迹为例): qj085 (此文件为标志文件,注册没有后缀名,此处此文件以应:奇迹0.85版) qj085.exe (此文件为winrar压缩包,根据不同游戏的更新情况自己制作,具体请看winrar说明)
如果还有更新文件,比如奇迹0.90,只要再加qj090和qj090.exe文件即可。
奇迹.bat @echo off rem 下面这一行是把服务器上的gameup目录映射为驱动器z net use z: \\jjy-y3p897yw3v1\gameup /yes >nul rem 下面这一行是调用服务器的chkupdate.bat,后面有三个参数,第一个(此处为z),告诉chkupdate.bat游戏更新文件所在的地方,第二个参数(d:\奇迹),告诉chkupdate.bat要与哪个地方的游戏进行对比更新,第三个参数(qj),告诉chkupdate.bat游戏更新包的标志文件的前两个字母,也算是一个“标志”了。 start /m /w z:\chkupdate.bat z: d:\奇迹 qj >nul rem 下面这一行,取消网络映射。 net use * /delete /yes >nul rem 下面三行,进入具体的游戏。 d: cd \奇迹 main.exe
chkupdate.bat @echo off rem 以下两行,进入游戏更新包所在的目录,对应的,此处为:z:\游戏更新 %1 cd \游戏更新 rem 下面一行,检测客户机的游戏是否需要更新。是以标志文件(此处为qj*)作为判断依据的。如果客户机不存在标志文件,说明没有更新,就给变量flag一个值,此值为标志文件名,也即是要更新的版本,比如为:qj085 for %%a in (%3*.) do if not exist %2\%%a set flag=%%a rem 下面一行,判断如果不需要更新,直接跳到结束。 if %flag%!==! goto end rem 下面一行,把标志文件拷贝到客户机目录。 echo y|copy %1\游戏更新\%flag% %2 >nul rem 下面一行,执行游戏更新包。 if exist %1\游戏更新\%flag%.exe start /w %1\游戏更新\%flag%.exe >nul :end
结束。 其实关键是winrar的使用。 有问题大家探讨。
|
文章作者:未知 更新日期:2005-05-07 |
〖文章浏览:〗〖打印文章〗〖发送文章〗 |
|
|
|