|  | 
 
| [这个贴子最后由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就不贴出了...
 希望对大家有点帮助,也欢迎提提意见....
 
 | 
 |