中国DOS联盟论坛

中国DOS联盟

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

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

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
中国DOS联盟论坛 » DOS启动盘 & LOGO技术 (启动盘室) » 我己实现能查找硬盘最后的分区
作者:
标题: 我己实现能查找硬盘最后的分区 上一主题 | 下一主题
mafa3
初级用户




积分 150
发帖 7
注册 2003-4-10
状态 离线
『楼 主』:  我己实现能查找硬盘最后的分区

必须配合 STRINGS.COM
             XSET.EXE


http://www.ipdown.com/dosbbs/dispbbs.asp?boardID=11&ID=7049

第6楼


[此贴子已经被作者于2003-10-6 22:32:05编辑过]




2003-9-15 00:00
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
cn_archer
元老会员

农民


积分 2903
发帖 991
注册 2003-7-23
来自 福建省
状态 离线
『第 2 楼』:  

怎么实现的,说说看吧




艰难奋长戟,万古用一夫

中国DOS联盟  http://www.cn-dos.net   欢迎大家来共同学习
我的MSN&E-Mail cn_archer@hotmail.com  QQ 56049418
2003-9-16 00:00
查看资料  发送邮件  发短消息 网志  OICQ (56049418)  编辑帖子  回复  引用回复
mafa3
初级用户




积分 150
发帖 7
注册 2003-4-10
状态 离线
『第 3 楼』:  

问:如何得到光驱所在的盘符?

答:可以用本站“脚本工具”中的FINDCD程序来自动显示出光驱的盘符,例如FINCDCD命令就可以将当前光驱的盘符显示并放入环境变量%CDROM%中。另外,我编写了一个批处理文件,它会自动查找光驱所在的盘符,将结果显示出来并存入环境变量%CDROM%中。不过它需要两个批处理增强程序,Strings 2.5和XSET 5.47,均可在本站的“脚本工具”中下载。文件的内容如下:

@echo off
set dn=66
set cdrom=
:count
strings dn=add %dn%,1
strings dr=char %dn%
xset /search "CDROM" drv drivetest %dr%
if not %drv%#==# goto ok
if %dn%#==90# goto no
goto count
k
set cdrom=%dr%
echo The CD-ROM drive letter %cdrom% has been assigned to the variable "CDROM".
goto end
:no
echo No CD-ROM found!
:end
set dr=
set dn=
set drv=
echo.

此例中是判断光驱所在的盘符,若想判断其它存储设备(或内存盘等)所在的盘符,将上面文件中的"xset /search "CDROM" drv drivetest %dr%"行中的"CDROM"改为其它名称即可,例如对于内存盘即可用"RAM"来替换"CDROM"。

如果您有任何看法或建议的话,可以给我邮件或留言,谢谢!

一个非常强大的增强的SET命令,有几十种功能,除强大的字符操作,文件操作等功能以外,还能制作窗口,改变颜色,设置密码等.支持长文件名和Win3.x/9x/NT/2K/XP的DOS窗口.它的选项非常多,有全屏幕帮助(可直接用XSET命令进行,也可看它的帮助文件),比如XSET Dr DRIVETEST C就可以将驱动器C的详细状态,包括驱动器类型,比如是HARDDISK(即硬盘),FLOOPY(即软盘),CDROM(即光盘),RAM(即内存盘),SUBST(即虚拟盘),REMOTE(即远程驱动器)等等,以及它是否准备好,是否只读,是不是可移动磁盘等信息存入环境变量%DS%中.今年5月推出的最新版本.


2003-9-16 00:00
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
电吉入侵
初级用户




积分 1480
发帖 377
注册 2003-6-6
状态 离线
『第 4 楼』:  

用一个DREADY就可以了,因为DOS只能识别FAT系统,如果是光驱看它写不写得入就可以排除...



欢迎大家访问我的主页!
精品.爱好http://iso.533.net
2003-10-7 00:00
查看资料  发送邮件  访问主页  发短消息 网志  OICQ (21039929)  编辑帖子  回复  引用回复
Wengier
系统支持

“新DOS时代”站长


积分 27734
发帖 10521
注册 2002-10-9
状态 离线
『第 5 楼』:  



  Quote:
以下是引用电吉入侵在2003-10-7 9:50:37的发言:
用一个DREADY就可以了,因为DOS只能识别FAT系统,如果是光驱看它写不写得入就可以排除...

这有什么用,如果是写保护的软驱或只读的网络驱动器怎么办?



Wengier - 新DOS时代

欢迎大家来到我的“新DOS时代”网站,里面有各类DOS软件和资料,地址:
http://wendos.mycool.net/

E-Mail & MSN: wengierwu AT hotmail.com (最近比较忙,有事请联系DOSroot和雨露,谢谢!)

2003-10-7 00:00
查看资料  发送邮件  访问主页  发短消息 网志  OICQ (29206679)  编辑帖子  回复  引用回复
绿叶林
初级用户




积分 112
发帖 4
注册 2003-9-21
状态 离线
『第 6 楼』:  

还有一个问题,DOS下认盘符好象是先认主分区再认扩展分区中的逻辑分区。

比如:有一个40G的硬盘,分区如下:(都是FAT32的)
   第1分区:10G 主分区(活动)
   第2分区:25G 扩展分区 (再分两个逻辑分区:10G、15G)
   第3分区:5G   主分区

在DOS下应该是这样认分区盘符的:
   第1分区:10G 主分区(活动)  ----> C:
   第2分区:25G 扩展分区 (再分两个逻辑分区:10G、15G) --->E:  F:   
   第3分区:5G   主分区      ----> D:

[B]所以:
   最后一个盘符 F ,并不是最后的分区。
  
   *实际上,最后一个分区的盘符应该是D[/B]

[此贴子已经被作者于2003-10-8 20:41:44编辑过]




2003-10-8 00:00
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
绿叶林
初级用户




积分 112
发帖 4
注册 2003-9-21
状态 离线
『第 7 楼』:  

我个人认为:

  最好的方法应该从分区表入手!

2003-10-8 00:00
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复

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


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



论坛跳转: