中国DOS联盟

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

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

中国DOS联盟论坛
现在时间是 2026-08-01 16:59
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 做了个批处理启动界面,请问:如何实现各选择的执行?? 查看 1,529 回复 2
楼 主 做了个批处理启动界面,请问:如何实现各选择的执行?? 发表于 2006-06-16 10:28 ·  中国 广东 广州 白云区 电信
初级用户
积分 101
发帖 25
注册 2006-02-24 11:14
20年会员
UID 50868
状态 离线
我做了个启动软盘菜单界面, 菜单内容如下:


启动菜单

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
2 发表于 2006-06-16 11:24 ·  中国 北京 联通
银牌会员
★★★
DOS联盟捡破烂的
积分 1,144
发帖 425
注册 2005-10-20 00:00
20年会员
UID 43784
来自 北京
状态 离线
先说明一下,我觉得要按照正常来说,楼主的这个批处理是错误的,因为你不是运行在命令提示符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%这个特殊环境变量所对应的语句段从而实现各个菜单的功能,自己体会吧............
3 发表于 2006-06-16 15:58 ·  中国 上海 徐汇区 电信
银牌会员
★★★
永遠的DOS~~~
积分 1,200
发帖 466
注册 2005-02-01 00:00
21年会员
UID 35867
性别 男
来自 上海
状态 离线
按照楼主这样在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
论坛跳转: