中国DOS联盟论坛

中国DOS联盟

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

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

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
中国DOS联盟论坛 » DOS启动盘 & LOGO技术 (启动盘室) » 关于dos启动盘中setramd.bat命令行的理解
作者:
标题: 关于dos启动盘中setramd.bat命令行的理解 上一主题 | 下一主题
booyer
新手上路





积分 5
发帖 2
注册 2006-11-22
状态 离线
『楼 主』:  关于dos启动盘中setramd.bat命令行的理解

关于setramd.bat命令行的理解。不对之处,请大师指正!

@echo off
a:\findramd
::运行a盘中的findramd寻找虚拟盘。
if errorlevel 255 goto no_ramdrive
::如果执行findramd后,返回值是255,说明不存在虚拟盘,执行no_ramdrive显示虚拟盘不存在的信息。
if not errorlevel 3 goto no_ramdrive
::如果执行findramd后,返回值不是3(返回值为3时存在虚拟盘),说
明不存在虚拟盘,执行no_ramdrive显示虚拟盘不存在的信息。
goto do_shift
::如果以上两种情况不成立(表明有虚拟盘存在),则执行do_shift开始设置虚拟盘盘符。

:loop
::确定虚拟盘盘符。
if errorlevel %1 goto no_shift
::因为shift执行后,返回值是参数%1代表的值。如果参数%1代表的值能作为返回值返回,表明参数%1不为空,则执行no_shift给虚拟盘分配盘符。

:do_shift
::开始设置虚拟盘盘符。
set cdrom=%2
::设置字符串cdrom(光驱盘符。由mscdex /L:%cdrom%决定)对应参数%2。请注意:此时光驱分配到的盘符是由硬件决定的,还没有包括由ramdrive建立起来的虚拟盘。因为系统默认的盘符分配是:软驱(a)、软驱(b)、硬盘、光驱,所以,如果硬盘只有一个分区则硬盘(c)、光驱(d),如果硬盘有多个分区则光驱盘符顺推,如果没有硬盘则光驱(c)。当有虚拟盘时,虚拟盘被安排在硬盘和光驱之间,因此光驱盘符会向后退一位。
shift
::参数左移一位(即让参数%1和参数%2对应的盘符向前移一位)。
shift
::参数左移一位(即让参数%1和参数%2对应的盘符再向前移一位)。
if not %1*==* goto loop
::两次左移后,如果参数%1仍然不为空(即%1*==*不成立),说明虚拟盘存在,则执行loop确定虚拟盘盘符。
goto no_ramdrive
::两次左移后,如果参数%1为空(即%1*==*成立),说明虚拟盘不存在,则执行no_ramdrive显示虚拟盘不存在的信息。

:no_shift
::给虚拟盘分配盘符。
set ramd=%2
::让虚拟盘盘符取参数%2对应的盘符(也就是没有建立虚拟盘前光驱取得的盘符)。
goto success
::执行success显示虚拟盘建立成功的信息。

:no_ramdrive
::没有或无法建立虚拟盘(可以设置一些提示信息)

:success
::显示虚拟盘建立成功的信息

2006-12-6 13:22
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
bc12060101
银牌会员





积分 1455
发帖 712
注册 2006-1-20
状态 离线
『第 2 楼』:  

谢谢楼主!
有些未曾明白的问题,经楼主这么一解释,就搞明白了。
在此感谢!

2006-12-6 21:47
查看资料  发短消息 网志   编辑帖子  回复  引用回复
jzzyl
初级用户





积分 90
发帖 38
注册 2007-1-16
状态 离线
『第 3 楼』:  

谢谢楼主,又长知识了,赫赫   希望有时间再来点儿

2007-1-16 09:52
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
dongam
初级用户





积分 70
发帖 31
注册 2007-1-8
状态 离线
『第 4 楼』:  

科普知识讲座啊~俺喜欢!

2007-1-18 10:27
查看资料  发送邮件  发短消息 网志  OICQ (11554492)  编辑帖子  回复  引用回复
888168
新手上路





积分 18
发帖 9
注册 2007-1-15
状态 离线
『第 5 楼』:  

谢谢!



欢迎光临:http://www500w.ttsite.com/?u=151269
2007-1-21 08:21
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
tnt844
初级用户





积分 41
发帖 21
注册 2009-6-17
状态 离线
『第 6 楼』:  

搜索老贴的好处,恩,谢谢楼主的分享。

2010-2-21 22:00
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复

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


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



论坛跳转: