| 
 | 
 
[这个贴子最后由gotomsdos在 2005/05/07 06:59pm 第 3 次编辑] 
 
第一次用WBAT和GET写的自制综合启动光盘(分系统安装<XP SP2 2000 98 ME DOS71>,维护工具和DOS即玩游戏,总大 
小4.5GB)中游戏模块: 
终于接近完工了! 
与大家共勉! 
(可直接用光盘启动后自动运行,解决了WBAT程序好象不能在光盘运行,天汇与鼠标冲突,仙剑奇侠传只允许内存32MB 
之内等等诸多问题. 
配有常见的SOUND BLASTER声卡DOS驱动 
不用硬盘,可选择把光盘游戏复制到内存盘玩,或玩已保存到硬盘的游戏,也可加入游戏进度文件.非常流畅,玩完可 
再回游戏主菜单.经多次测试,最后成功!) 
又加了一些功能: 比如,进入之前加了以登记入园形式的暗藏进入游戏的秘密通道选项,如果选的不对就进不了 
了... 
还可保存游戏(分保存进度和整个游戏),(其中包括自己做用递增和递减实现前进和返回的简易DOS浏览器,<感谢 
willsort!,是他帮我解决了DOS的嵌套变量,才能把它精简>小到只有3KB,但可查看无限制深度的目录,,创建多层<无 
限制,但目录总字符不超过105个字符>带间隔的长文件名目录<当然,\左右不能有间隔>,字符可达105个字符!,还可编辑文本文件,运行程序和批处理再返回...),正在增加图 
形修改游戏进度...修改SKYROADS已成功... 
 
下面帖出,供大家参考: 
要求: 在CONFIG.SYS中SHELL=COMMAND.COM /F /P /E:4096,加载光驱,DOSLFN,正确加载TW32,配备声卡驱动,WBAT目 
录,FIND,GET,STRINGS,DEBUG,XMSDSK 等等。。。 
 
&&&&&&&&&&&&&&&&&&&&&&& 
主BAT,CONTINUE.BAT 
@ECHO OFF 
PROMPT $P$G 
path a:\ 
tw32 /np >nul 
ctmouse /u >nul 
ctmouse /n >nul 
lh doslfn 
cls 
set barpos=0 
set saveyn=0 
set name= 
set year= 
set book= 
set stat= 
set core= 
set score= 
set salary= 
set gamedir=0 
call prevar 
wbat box @%0:sound 
cls 
if errorlevel 2 goto test 
set blaster=a220 i5 d1 h5 p330 
set sbpci=z:\sound 
xcopy %romcd%\sound z:\sound\ /e /s /y 
z:\sound\sbinit 
cls 
if errorlevel 1 wbat box 加载失败! 
goto test 
:sound "您要加载声卡驱动吗?"                     [x] 
  本光盘配有常见的 Sound Blaster (创新) 声卡驱动文件 
如果您电脑的声卡兼容创新,一般会成功加载驱动,但如果 
不兼容并强制加载驱动,很可能不成功甚至出现死机等现象 
如不清楚,建议查看一下您的声卡说明书。 
                                  [加  载]  [不加载] 
: 
:studio 
~木鸢工作室~ 羊城苑 
2003-2005 Copyright TM reserved 
: 
:reg "寻趣园面试台"                                  [x] 
 江湖绰号?[$ name 20,!              ] (必填) 
 闯荡几个春秋了?[$ year 2,!] (必填)            
 著作有几本了?[$ book 2] 统计员论文有几篇了?[$ stat 2] 
  
 ~核心~期刊论文有几篇了?[$ core 2] 
                 
                  平均学生评分多少?[$ score 2] 
     有~房~吗?[!] 
                             薪俸多高啊?[$ salary 8] 
 有~车~吗?[!]  
             平时喜欢干啥? 
    看闲书 [!] 
          看电视 [!] 
  上网闲逛 [!] 
          ~电脑游戏~玩疯了 [!] 
 逛街 [!] 
        到哥们儿那坐坐 [!]               ~佳人~伺候?[.] 
 [面试结束]                               孑然一身?[.] 
: 
:ls " 想玩哪一个? "   [x] 
[a 太空之路    ] 
[b 赛车追捕    ] 
[c 刺杀希特勒  ] 
[d 毁灭战士    ] 
[e 轩辕剑枫之舞] 
[f 仙剑奇侠传  ] 
[g 金庸群侠传  ] 
[h 三国群英传  ] 
[i 中国传统象棋] 
[j 四国大战    ] 
[k 手谈围棋    ] 
[l 华容道      ] 
[m 知识测验    ] 
[n 最差的小游戏] 
: 
:where "在哪里玩?"                               [x] 
  请先选择将要运行游戏的存储设备。选择装载到内存中玩 
最流畅。但是,如果要从游戏进度处继续,就要在运行之前 
把它们添加到游戏目录(手谈围棋例外。这要求您已经保存 
了游戏进度文件)。否则,只能从游戏起点处开始。 
  选择从硬盘玩,需要先前已经保存了整个游戏。 
                                [内存] [硬盘] [返回]        
: 
:gamesave "添加进度"                                [x] 
请输入已保存的进度文件或游戏所在的目录:   [扫描驱动器] 
                                            
[$ gamesave 105                           ][★] 
                         [确定]  [返回] 
: 
:_hard "您将要玩硬盘中的游戏"                         [x] 
        请输入硬盘上的游戏所在目录:         [扫描驱动器] 
在这里: [$ harddir 96                       ][★] 
                              [确定] [返回] 
: 
:query "您知道内存容量吗?"      [x] 
要玩这个游戏,程序需要知道您的 
电脑的内存容量来调整到适合游戏 
运行的限度,否则可能无法运行。 
    [我知道] [试一下] [返回吧] 
: 
:mem "内存多大?"  [x] 
 32 
 64 
 96 
 128 
 160 
 192 
 224 
 256 
 288 
 320 
 352 
 384 
 416 
 448 
 480 
 512 
: 
:fore "您将要在内存盘中玩"                                   [x] 
  现在已把该游戏从光盘复制到了内存盘,运行游戏期间您可以保存游戏 
进度。但重启电脑后就被清空,所以,如果重启后要从保存的进度继续玩 
就要在结束该游戏后把它保存到硬盘(或者其他介质),以后再运行本光盘 
选择从硬盘运行该游戏(当然,您也可用其他方式运行保存的游戏)。 
在您退出游戏后会出现询问您是否保存游戏的对话框。 
                                                      [开始玩吧] 
: 
:cheat "自欺欺人对话框--设置过关次数"        [x] 
         track1  [$t1 1]        track16 [$t16 1] 
         track2  [$t2 1]        track17 [$t17 1] 
         track3  [$t3 1]        track18 [$t18 1] 
        
         track4  [$t4 1]        track19 [$t19 1] 
         track5  [$t5 1]        track20 [$t20 1] 
         track6  [$t6 1]        track21 [$t21 1] 
           
         track7  [$t7 1]        track22 [$t22 1] 
         track8  [$t8 1]        track23 [$t23 1] 
         track9  [$t9 1]        track24 [$t24 1] 
         track10 [$t10 1]        track25 [$t25 1] 
         track11 [$t11 1]        track26 [$t26 1] 
         track12 [$t12 1]        track27 [$t27 1] 
           
         track13 [$t13 1]        track28 [$t28 1] 
         track14 [$t14 1]        track29 [$t29 1] 
         track15 [$t15 1]        track30 [$t30 1] 
[全部设为最大值] [全部设为零]       [确定] [返回] 
: 
:_save "保存游戏"                                   [x] 
            您可以改变下面的默认保存目录: [扫描驱动器] 
我要保存到: [$ savedir 96                 ][★] 
                 
保存后我要试运行保存的游戏 [!]                          
                             [确定] [返回] 
: 
:last 
[DOS] [重启] [关机] 
                   [?返回] 
: 
:test 
call w.bat box 2,30 @%0:reg 
if errorlevel 100 goto flee 
if not "%name%"=="" if not "%year%"=="" if "%wrb%"=="2" goto start 
wbat box 对不起,您面试没通过!再试试? 
goto test 
:flee 
wbat box "想逃跑?" 逃吧,重来  
if errorlevel 2 goto test 
:_flee 
wbat box DOS,重启,关机 
if errorlevel 100 goto _flee 
if errorlevel 3 off 
if errorlevel 2 reboot 
goto final 
:start 
z: 
cd\wbat 
wbat cls ! text 24,2 (red on blue) @%0:studio ! box "寻趣园等您好久了!" 继续... 
if errorlevel 100 goto nogame 
:ask 
wbat box 游戏选单,不想玩了 
if errorlevel 100 goto nogame 
if errorlevel 2 goto nogame 
rem if errorlevel 1 go on 
:game 
wbat cls ! text 24,2 (red on blue) @%0:studio 
call w.bat box 4,12 @%0:ls #%barpos%+1 
if errorlevel 100 goto ask 
set barpos=%?% 
set oldgame=%gamedir% 
if %wbat%==a set gamedir=skyroads 
if %wbat%==b set gamedir=speedcar 
if %wbat%==c set gamedir=wolf3d 
if %wbat%==d set gamedir=doom 
if %wbat%==e set gamedir=swda 
if %wbat%==f set gamedir=pal 
if %wbat%==g set gamedir=legend 
if %wbat%==h set gamedir=sanguo 
if %wbat%==i set gamedir=xiangqi 
if %wbat%==j set gamedir=siguo 
if %wbat%==k set gamedir=shoutan 
if %wbat%==l set gamedir=huarong 
if %wbat%==m set gamedir=test 
if %wbat%==n set gamedir=car 
if "%wbat%"=="f" goto pal 
if "%wbat%"=="g" goto playcd 
if "%wbat%"=="i" goto playcd 
 
:play 
wbat box @%0:where 
if errorlevel 3 goto game 
if errorlevel 2 goto hardinit 
wbat cls 
set harddir= 
if "%oldgame%"=="%gamedir%" goto same 
deltree /y z:\%oldgame% >nul 
xcopy %romcd%\%gamedir% z:\%gamedir%\ /e /s /y 
:same 
if "%gamedir%"=="skyroads" goto skyroads 
if "%gamedir%"=="wolf3d" goto wolf3d 
if "%gamedir%"=="doom" goto doom 
if "%gamedir%"=="swda" goto swda 
if "%gamedir%"=="pal" goto stagepal 
if "%gamedir%"=="sanguo" goto sanguo 
goto memhi 
:skyroads 
set stage=skyroads.cfg 
goto add 
:wolf3d 
set stage=savegam?.wl6 
goto add 
:doom 
set stage=doomsav?.dsg 
goto add 
:swda 
set stage=save\*.* 
goto add 
:stagepal 
set stage=?.rpg 
goto add 
:sanguo 
set stage=*.r3s 
:add 
wbat cls ! text 24,2 (red on blue) @%0:studio 
wbat box "要添加游戏进度文件吗?" 添加,不添加 
if errorlevel 2 goto memhi 
:askdir 
wbat cls ! text 24,2 (red on blue) @%0:studio 
call w.bat fix box 7,13 @%0:gamesave 
if errorlevel 4 goto play 
if errorlevel 3 goto chkadd 
if errorlevel 2 goto addexpl 
call diskfind 
goto askdir 
:chkadd 
call chkputad.bat 
if not "%back%"=="askdir" goto copyadd 
set back= 
goto askdir 
:copyadd 
wbat cls 
rem if "%gamesave%"=="" goto noinput 
if "%gamedir%"=="swda" goto addswda 
if exist "%gamesave%\%stage%" goto haveadd 
:noaddfl 
wbat box "找不到进度文件!" 返回 
goto askdir 
:haveadd 
copy "%gamesave%\%stage%" z:\%gamedir% /y 
goto memhi 
:addswda 
if exist "%gamesave%\%stage%" goto swdaaddy 
goto noaddfl 
:swdaaddy 
copy "%gamesave%\%stage%" z:\%gamedir%\save /y 
goto memhi 
:addexpl 
if exist drive.txt goto scaned 
call diskfind 
:scaned 
call truenest gamesave 
goto askdir 
:memhi 
wbat box @%0:fore 
:doplay 
cd\%gamedir% 
call play.bat 
goto postplay 
:hardinit 
set harddir=d:\%gamedir% 
:hard 
wbat cls ! text 24,2 (red on blue) @%0:studio 
wbat fix box @%0:_hard 
if errorlevel 100 goto game 
if errorlevel 4 goto play 
if errorlevel 3 goto chkhard 
if errorlevel 2 goto hardexpl 
call diskfind 
goto hard 
:hardexpl 
if exist drive.txt goto scaned2 
call diskfind 
:scaned2 
call truenest harddir 
goto hard 
:chkhard 
set gamesave=%harddir% 
call chkputad.bat 
set harddir=%gamesave% 
set gamesave= 
if not "%back%"=="askdir" goto playhard 
set back= 
goto hard 
:playhard 
if exist "%harddir%\play.bat" goto haveplay 
if exist "%harddir%\%gamedir%\play.bat" goto resetdir 
wbat box "找不到游戏文件!" 返回 
goto hard 
:resetdir 
set harddir=%harddir%\%gamedir% 
:haveplay 
get z "%harddir%" /w1 
%get%: 
cd "%harddir%" 
call play 
:postplay 
z: 
cd\wbat 
if "%run%"=="fail" wbat box 运行失败! 
set run= 
rem if "%gamedir%"=="pal" goto pal 
if not "%gamedir%"=="skyroads" goto played 
wbat box "要不劳而获吗?" 要,不要 
if errorlevel 2 goto played 
:dovalue 
call w.bat box @%0:cheat 
if errorlevel 4 goto played 
if errorlevel 3 goto modgame 
if errorlevel 2 goto zero 
call allcheat 
goto dovalue 
:zero 
call prevar 
goto dovalue 
:modgame 
call crackarg 
if exist z:\skyroads.cfg goto crackok 
wbat box "破解失败!" 继续... 
goto played 
:crackok 
if "%harddir%"=="" goto memplay 
copy z:\skyroads.cfg "%harddir%" /y 
goto asksee 
:memplay 
copy z:\skyroads.cfg z:\skyroads /y 
:asksee 
wbat box "要重新运行游戏,看一下不劳而获的结果吗?" 看一下,不想看 
if errorlevel 2 goto played 
if "%harddir%"=="" goto doplay 
goto haveplay 
:played 
z: 
cd\wbat 
if not "%harddir%"=="" goto start 
if %saveyn%==%gamedir% goto start 
wbat cls ! text 24,2 (red on blue) @%0:studio ! box "保存该游戏吗?" 不保存,保  存 
if errorlevel 100 goto start 
if errorlevel 2 goto asksave  
goto start 
:asksave 
wbat box "保存游戏进度文件还是整个游戏?" 进度文件,整个游戏 
if errorlevel 2 goto saveopt 
if not "%stage%"=="" goto stagey 
wbat box "对不起,这个游戏没有进度文件!" 不保存游戏,保存整个游戏 
if errorlevel 2 goto saveopt 
goto start 
:stagey 
if exist z:\%gamedir%\%stage% goto havezadd 
wbat box "您尚未保存过游戏进度!" 不保存游戏,保存整个游戏 
if errorlevel 2 goto saveopt 
goto start  
:havezadd 
set save=passed 
:saveopt 
set savedir=d:\%gamedir% 
:savebox 
wbat cls ! text 24,2 (red on blue) @%0:studio 
call w.bat fix box @%0:_save 
if errorlevel 100 goto start 
if errorlevel 4 goto asksave 
if errorlevel 3 goto dosave 
if errorlevel 2 goto explore 
call diskfind 
goto savebox 
:explore 
if exist drive.txt goto scaned3 
call diskfind 
:scaned3 
call truenest savedir 
goto savebox 
:dosave 
if not "%save%"=="passed" goto allsave 
if "%wcb1%"=="0" goto allsave 
wbat box "对不起,只有选择保存整个游戏,才能试运行游戏。" 返回 
set wcb1=0 
goto savebox 
:allsave 
call chkputsv.bat 
if not "%back%"=="savebox" goto chkdir 
set back= 
goto savebox 
:chkdir 
echo %savedir%|find /i "%gamedir%">nul 
if errorlevel 1 goto gamename 
set enddir=%savedir% 
goto dirmake 
:gamename 
set enddir=%savedir%\%gamedir% 
:dirmake 
wbat cls ! text 24,2 (red on blue) @%0:studio ! box "要显示选定的文件夹吗?" 显 示,不显示 
if errorlevel 2 goto chkdir 
wbat box "%enddir%" 确定,返回 
if errorlevel 2 goto savebox 
call multidir.bat 
:tocopy 
wbat cls 
if "%save%"=="passed" goto passed 
copy z:\%gamedir% "%enddir%" /y 
if not exist %enddir%\play.bat goto savefail 
echo %gamedir%|find /i "swda" >nul 
if errorlevel 1 goto saveok 
:swdapass 
wbat cls 
for %%a in (ba rx save vc) do md "%enddir%\%%a" >nul 
for %%a in (ba rx save vc) do copy z:\%gamedir%\%%a "%enddir%\%%a" /y >nul 
for %%a in (ba\ba49.rsk rx\ri079.rix save\save.zaq vc\sp135.voc) do if not exist %enddir%\%%a goto  
savefail 
wbat cls ! text 24,2 (red on blue) @%0:studio 
goto saveok 
:passed 
if %gamedir%==swda goto swdapass 
if exist z:\%gamedir%\%stage% goto havezadd 
wbat box "您尚未保存过游戏进度!" 不保存游戏,保存整个游戏 
if errorlevel 2 goto saveopt 
goto start  
:havezadd 
copy z:\%gamedir%\%stage% "%enddir%" /y 
if exist "%enddir%\%stage%" goto start 
:savefail 
wbat box 保存失败! 
goto savebox 
:saveok 
if "%save%"=="passed" goto start 
set saveyn=%gamedir% 
if "%wcb1%"=="0" goto start 
get z "%enddir%" /w1 >nul 
%get%: 
cd "%enddir%" 
call play.bat 
if "%run%"=="fail" wbat box 试运行失败! 
set run= 
goto start 
:playcd 
%romcd% 
cd\%wbat% 
call play.bat 
z: 
cd\wbat 
goto start 
:pal 
set gamedir=pal 
wbat box 5,10 (cyan on brown) @%0:query 
if errorlevel 100 goto game 
if errorlevel 3 goto game 
if errorlevel 2 goto play 
call w.bat list 20,65 @%0:mem 
if errorlevel 100 goto pal 
if "%wbat%"=="32" goto 32 
set memmb=%wbat% 
call d:\wbat\againram.bat 
z: 
cd\wbat 
wbat box back to continue.bat 
goto play 
:32 
goto play 
:nogame 
wbat box (black on brown) @%0:last  
if errorlevel 100 goto ask 
if errorlevel 3 off 
if errorlevel 2 reboot 
goto final 
:term 
a:\againram.bat 
:final 
wbat cls 
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& 
TRUENEST.BAT (DOS浏览器) 
@echo off 
goto begin 
:dirbars "上一级—→"[x] 
[退  出] 
[预  选] 
[看文件] 
[看目录] 
: 
:filebars "   上一级—→"[x] 
[退  出] 
[运行批处理文件] 
[运行可执行文件] 
[编辑文本文件] 
[查看文件信息] 
: 
:begin 
if exist drive.txt goto drive 
wbat cls ! box "没有驱动器!" 退出 
goto end 
:drive 
call w.bat list drive.txt 
if errorlevel 100 goto end 
:putdisk 
if not exist notready.txt goto init1 
find /i "%wbat%" notready.txt>nul 
if errorlevel 1 goto init1 
wbat box "您还没有在%wbat%盘放入盘片!" 重试 
call diskfind 
goto putdisk 
:init1 
set get=1 
set dir%get%=%wbat% 
:dirb 
wbat box @%0:dirbars 
if errorlevel 100 goto sub1 
if errorlevel 4 goto dir 
if errorlevel 3 goto file 
if errorlevel 2 goto pick 
goto end 
:dir 
if %get%==0 goto drive 
if %get%==1 goto rootdir 
echo dir "%%dir%get%%%" /b/ad/one %%"%%>%%"%% put.nst>nestvar.bat 
call nestvar 
goto subdir 
:rootdir 
dir %dir1%\ /b/ad/one>put.nst 
:subdir 
get f put.nst /vfsize>nul 
if not "%fsize%"=="0" goto havedir 
wbat box "没有子目录!" 上一级,退出 
if errorlevel 2 goto end 
goto dirb 
:havedir 
call w.bat list put.nst 
if errorlevel 100 goto dirb 
get r "+" %get% /w1 /vgetadd1>nul 
echo set dir%getadd1%=%%dir%get%%%\%wbat%>nestvar.bat 
call nestvar 
wbat box @%0:dirbars 
if errorlevel 100 goto havedir 
if errorlevel 4 goto diradd1 
if errorlevel 3 goto fileadd1 
if errorlevel 2 goto pickadd1 
goto end 
:file 
if %get%==1 goto rootfile 
echo dir "%%dir%get%%%" /b/a-d/one %%"%%>%%"%% put.nst>nestvar.bat 
call nestvar 
goto subfile 
:rootfile 
dir %dir1%\ /b/a-d/one>put.nst 
:subfile 
get f put.nst /vfsize>nul 
if not "%fsize%"=="0" goto havefile 
wbat box "没有文件!" 上一级,退出 
if errorlevel 2 goto end 
goto dirb 
:havefile 
call w.bat list put.nst 
if errorlevel 100 goto dirb 
:fileb 
wbat box @%0:filebars 
if errorlevel 100 goto havefile 
if errorlevel 5 goto info 
if errorlevel 4 goto text 
if errorlevel 3 goto exec-bat 
if errorlevel 2 goto exec-bat 
goto end 
:info 
echo dir "%%dir%get%%%\%wbat%" /a %%"%%>%%"%% putfile.nst>nestvar.bat 
call nestvar 
wbat list putfile.nst 
goto fileb 
:text 
echo edit "%%dir%get%%%\%wbat%">nestvar.bat 
call nestvar 
goto fileb 
:exec-bat 
echo "%%dir%get%%%\%wbat%">nestvar.bat 
call nestvar 
goto fileb 
:pick 
echo set %1=%%dir%get%%%>nestvar.bat 
call nestvar 
goto end 
:sub1 
get r "-" %get% /w1>nul 
goto dir 
:diradd1 
get r "+" %get% /w1>nul 
goto dir 
:fileadd1 
get r "+" %get% /w1>nul 
goto file 
:pickadd1 
get r "+" %get% /w1>nul 
goto pick 
:end 
for %%a in (nestvar.bat put.nst putfile.nst) do if exist %%a del %%a 
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& 
MULTIDIR.BAT (主要用GET完成的,DOS下,创建多层<无限制>带间隔的长文件名目录) 
@echo off 
:start 
set lfn=%enddir% 
dir "%lfn%" /w/ad|find /i "%lfn%" 
if not errorlevel 1 goto final 
md "%lfn%" 
dir "%lfn%" /w/ad|find /i "%lfn%" 
if not errorlevel 1 goto final 
set pos= 
set left=%lfn% 
set right= 
:toleft 
get # "%left%" ';\'; /x 
set pos=%get% 
get z "%lfn%" %pos% 
set right=%get% 
get r "-" %pos% /w1 
get z "%left%" /w%get% 
set left=%get% 
dir "%left%" /w/ad|find /i "%left%" 
if not errorlevel 1 goto toright 
goto  toleft 
:toright 
if "%right%"=="" goto  end 
get # "%right%" ';\'; 
if "%get%"=="0" goto last 
get r "+" %pos% /w%get% 
set pos=%get% 
get r "-" %pos% /w1 
get z "%lfn%" /w%get% 
set left=%get% 
get z "%lfn%" %pos% 
set right=%get% 
md "%left%" 
dir "%left%" /w/ad|find /i "%left%" 
if not errorlevel 1 goto toright 
set lfn=%left% 
goto fail 
:last 
md "%lfn%" 
:end 
dir "%lfn%" /w/ad|find /i "%lfn%" 
if not errorlevel 1 goto ok 
:fail 
wbat box "创建目录失败!^%lfn%" 重试,返回 
if errorlevel 2 goto  final 
goto start 
:ok 
wbat box  "创建目录成功!^%lfn%" 继续... 
:final 
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& 
CHKPUTAD.BAT (检测字符输入) 
@echo off 
if not "%gamesave%"=="" goto inputted 
wbat box "您还没有输入!" 返回 
goto back 
:inputted 
call diskfind 
if exist drive.txt goto havedrv 
wbat box "没有盘!" 返回 
goto back 
:havedrv 
get z "%gamesave%" /w1 
find /i "%get%" drive.txt>nul 
if not errorlevel 1 goto validd 
wbat box "不存在%get%:盘 !" 返回 
goto back 
:validd 
if not exist notready.txt goto notnot 
get z "%gamesave%" /w1 
find /i "%get%" notready.txt>nul 
if errorlevel 1 goto notnot 
wbat box "您还没有在%get%:盘放入盘片!" 继续... 
goto back 
:notnot 
get z "%gamesave%" 1 >nul 
if "%get%"=="" goto two 
if "%get%"==":" goto two 
if "%get%"==":\" goto two 
get z "%gamesave%" 1 /w2 >nul 
if "%get%"==":\" goto diryn 
rem wbat cls ! text 24,2 (red on blue) @continue.bat:studio 
wbat box "输入非法!" 返回 
goto back 
:diryn 
dir "%gamesave%" /w/ad|find /i "%gamesave%">nul 
if not errorlevel 1 goto end 
wbat box "没有这个目录:^%gamesave%" 返回 
goto back 
:two 
get z "%gamesave%" /w1 
set gamesave=%get%: 
goto end 
:back 
set back=askdir 
:end 
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& 
CRACKSKY.BAT (用DEBUG做的小小的修改游戏成绩的BAT) 
@echo off 
copy %romcd%\skyroads\skyroads.cfg z:\ /y 
echo n z:\skyroads.cfg>crack 
echo l0>>crack 
if "%1"=="" goto end 
echo e 6 %1 00>>crack 
set get=6 
shift 
:crack 
if "%1"=="" goto end 
get r "+" $%get% /w2 /h 
echo e %get% %1 00>>crack 
shift 
goto crack 
:end 
echo rcx>>crack 
echo 42>>crack 
echo w0>>crack 
echo q>>crack 
debug<crack 
del crack 
 
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& 
CRACKARG.BAT (调用CRACKSKY,实现修改) 
@echo off 
cracksky %t1% %t2% %t3% %t4% %t5% %t6% %t7% %t8% %t9% %t10% %t11% %t12% %t13% %t14% %t15% %t16% % 
t17% %t18% %t19% %t20% %t21% %t22% %t23% %t24% %t25% %t26% %t27% %t28% %t29% %t30% 
 
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& 
AGAINRAM.BAT (由于另人头疼的仙剑奇侠传对内存的特殊要求,多数情况下完它时不得不重设内存盘后,使内存盘起 
死回生的BAT) 
@echo off 
path a:\ 
strings diskmb=sub %memmb%, 20 
strings diskkb=mul %diskmb%, 1024 
xmsdsk %diskkb% z: /t /y 
cls 
xcopy %romcd%\wbat z:\wbat\ /e /s /y 
xcopy %romcd%\f z:\f\ /e /s /y 
z: 
cd\f 
call play.bat 
cd\wbat 
back 
 
&&&&&&&&&&&&&&&&&&&&&&&&&&&&& 
以上是主要程序,其他的小BAT就不贴出了... 
希望对大家有点帮助,也欢迎提提意见.... 
 |   
 
 
 
 |