中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟
中国DOS联盟论坛
现在时间是 2026-09-23 14:01
47,812 主题排行 / 349,917 发帖 / 今日 0 篇 / 48,273 会员排行
DOS批处理 & 脚本技术(批处理室) » [求助!]可不可以在CONFIG.SYS中加入选择功能?
可打印版本  1,792 / 9
第1楼 brglng 发表于 2005-04-28 00:00
银牌会员 发帖 466 积分 1,200 来自 上海
[求助!]可不可以在CONFIG.SYS中加入选择功能?
可不可以在CONFIG.SYS中加入类似批处理中CHOICE的选择功能?我不是指启动选择菜单!
谢谢!
第2楼 willsort 发表于 2005-04-28 00:00
元老会员 发帖 1,512 积分 4,432
Re brglng:  Config.sys 只有在系统启动时才会起作用,如果不是想做启动选择菜单,那么你实现 choice 选择是什么目的?
第3楼 brglng 发表于 2005-04-29 00:00
银牌会员 发帖 466 积分 1,200 来自 上海
如果有的话,可以用这个功能在启动的时候让用户选择是否要加载某个程序,如何加载这个程序等,这可以比启动菜单给用户更多的选择自由。
第4楼 willsort 发表于 2005-04-29 00:00
元老会员 发帖 1,512 积分 4,432
Re brglng:
  Config.sys 菜单选择完全可以实现类似的功能。而且,config.sys 不是批处理文件,它无法简单的调用一个可执行程序。下面是我的正在使用的 config.sys 文件,其实现了内存管理程序 himem.sys 和 emm386.exe 的启动控制。

第5楼 brglng 发表于 2005-04-29 00:00
银牌会员 发帖 466 积分 1,200 来自 上海
非常感谢。
我才知道原来在里还可以有submenu,这样,一个个子菜单下去,就可以实现选择性启动了!太感谢了!
不好意思问一下,一个里,可以有多个submenu吗?submenu里还可以有submenu吗?谢谢
第6楼 brglng 发表于 2005-04-29 00:00
银牌会员 发帖 466 积分 1,200 来自 上海
如我想在用户选择了一个菜单项以后,按用户的选择加载程序,再出现下一级菜单,那该怎么做?
第7楼 willsort 发表于 2005-04-29 00:00
元老会员 发帖 1,512 积分 4,432
Re brglng:  config.sys 中可以有多个和多层子菜单(submenu)。  但有个局限性,就是所有的菜单都是单选而非多选。也就是说,通过菜单选择加载多个程序,必须首先穷举所有可能的选择组合,如果有4个程序需要选择,就可能有16个组合选择,也就需要16个菜单项。当然这16个菜单项可以分别列入多个子菜单中,也可以剔除某些很不常用的组合,以减轻用户选择的负担。  但是,当需要选择的驱动程序过多时,这个方法显然不行了。此时,可以利用config.sys的单行选择功能。它用到了一个特殊字符,那就是问号。具体信息如下:
CONFIG.SYS文件亦可包括下列特殊字符:

; 说明该行是注释行,将不被执行。 该字母应放在行首。
(也可用REM命令插入注释)。

? 指定MS-DOS在执行当前命令前,让用户先行确认。 ?应加在等号前,例如,将
命令DOS=HIGH改为DOS?=HIGH后,则在执行该命令前,需要确认。
若在执行命令DEVICEHIGH /L:1,7280=MYFILE.SYS之前需要确认,可将此命令
改为DEVICEHIGH? /L:1,7280=MYFILE.SYS。
第8楼 SNOWOLF 发表于 2005-04-30 00:00
中级用户 发帖 88 积分 483
建议搂主平时多看一些DOS的基础资料
第9楼 brglng 发表于 2005-04-30 00:00
银牌会员 发帖 466 积分 1,200 来自 上海
谢谢。我原本并不是很懂DOS,在找到“新DOS时代”后,开始对DOS特别感兴趣,现在我也可以做做启动盘了,而且还不错。我现在只是想做一个选择性很强的启动盘,使几乎启动时每一步都能让用户自行选择。如果用“?”,那么启动时的要求选择的提示信息肯定不会是我希望的吧?他肯定会说“是否要加载VIDE-CDD.SYS”或者是否要执行某个命令之类的文字,使用者看不懂怎么办?
第10楼 brglng 发表于 2005-04-30 00:00
银牌会员 发帖 466 积分 1,200 来自 上海
哈哈,我刚刚想起,可以用DEVICE=ECHO.SYS先显示文字,再执行带“?”的语句。
真是谢谢大家啊!
[ 联系联盟系统管理团队 - 中国DOS联盟 - 标准版 ]
Sponsored by ifanr Inc | © 2001–2023