中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net  论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 做了个批处理启动界面,请问:如何实现各选择的执行??
作者:
标题: 做了个批处理启动界面,请问:如何实现各选择的执行?? 上一主题 | 下一主题
winlogo
初级用户





积分 101
发帖 25
注册 2006-2-24
状态 离线
『楼 主』:  做了个批处理启动界面,请问:如何实现各选择的执行??

我做了个启动软盘菜单界面, 菜单内容如下:

  
            启动菜单

      1. 从硬盘启动系统
      2. 执行批处理A.BAT
      3. 执行批处理B.BAT
      4. 打开read.txt文件


请问:如何实现,当通过键盘选择1、2、3、4时,分别执行相应的操作???
(注:A.BAT,B.BAT批处理文件我也以经搞定了。)

谢谢帮助!!!

——————————————————————————————————————
附:
config.sys文件内容如下:

DEVICE=HIMEM.SYS
DEVICE=VIDE-CDD.SYS /D:MSCD000
Lastdrive=Z


autoexec.bat文件内容如下:

MSCDEX /D:MSCD000 /L:Z
pbios
font16
hzvio95
hzkbd
ctrlpan
CLS
ECHO OFF
ECHO
ECHO
ECHO             启动菜单
ECHO
ECHO      1. 从硬盘启动系统
ECHO      2. 执行批处理A.BAT
ECHO      3. 执行批处理B.BAT
ECHO      4. 打开read.txt文件
ECHO
PAUSE

2006-6-16 10:28
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
bagpipe
银牌会员

DOS联盟捡破烂的


积分 1144
发帖 425
注册 2005-10-20
来自 北京
状态 离线
『第 2 楼』:  

先说明一下,我觉得要按照正常来说,楼主的这个批处理是错误的,因为你不是运行在命令提示符CMD下,所以你要修改CONFIG.SYS文件,然后在调用AUTOEXEC.BAT中的语句来实现各个菜单的作用,请看下面:
[Menu]
menuitem=从硬盘启动系统
menuitem=执行批处理A.BAT
menuitem=执行批处理B.BAT
menuitem=打开read.txt文件

[Common]
dos=high
buffers=15
device=c:\dos\himem.sys

[Steve]
files=20
device=c:dos\emm386 2048

[Lisa]
files=40
device=c:\net\network.sys

[Common]

在AUTOEXEC.BAT中是这样对应的


c:\dos\smartdrv.exe
set temp=c:\temp
c:\dos\msav
; Go to the section that matches the current
; value of the CONFIG variable
goto %config%

:从硬盘启动系统
path=c:\dos;c:\deskpub;c:\typeset
c:\mouse\mouse.com
deskpub
; now skip Lisa's section & go to end
goto end

:执行批处理A.BAT

path=c:\dos;c:\network;c:\utility
doskey
net logon lisa
goto end

:end
别的我不多说了,以此类推,还有,好像对支持中文的菜单的问题,这个我也没有实验过,建议用英文菜单,主要是判断%config%这个特殊环境变量所对应的语句段从而实现各个菜单的功能,自己体会吧............

2006-6-16 11:24
查看资料  发送邮件  访问主页  发短消息 网志   编辑帖子  回复  引用回复
brglng
银牌会员

永遠的DOS~~~



积分 1200
发帖 466
注册 2005-2-1
来自 上海
状态 离线
『第 3 楼』:  

按照楼主这样在autoexec.bat中制作一个模拟的启动菜单是完全可以的,因为楼主并没有提到需要在autoexec.bat里加载设备驱动程序。如果需要在autoexec.bat里加载设备驱动也是可以的,需要用ctload、device、devload等程序,但是不建议这样做。
要实现楼主的功能可以在autoexec.bat最后加这样一段:

choice /c:1234 /n /t:1,30 请选择:
if errorlevel 4 goto d
if errorlevel 3 goto c
if errorlevel 2 goto b
if errorlevel 1 goto a

:a
rem 加入你要执行的内容

:b
rem 加入你要执行的内容

:c
rem 加入你要执行的内容

:d
rem 加入你要执行的内容

另外config.sys的启动菜单是没法用中文的,而且也没有办法在菜单之前加载中文系统。另外建议中文系统不要用pdos,它的通用性和兼容性比较差,还有mscdex可以换成体积和占内存更小的shsucdx等。

[ Last edited by brglng on 2006-6-16 at 16:04 ]



32位才是DOS未来的希望
个人网志:http://sololand.moe
2006-6-16 15:58
查看资料  发短消息 网志   编辑帖子  回复  引用回复

请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转: