中国DOS联盟

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

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

中国DOS联盟论坛
现在时间是 2026-07-23 15:07
中国DOS联盟论坛 » DOS启动盘 & LOGO技术 (启动盘室) » 我己实现能查找硬盘最后的分区 查看 1,304 回复 6
楼 主 我己实现能查找硬盘最后的分区 发表于 2003-09-15 00:00 ·  中国 广东 深圳 福田区 电信
初级用户
积分 150
发帖 7
注册 2003-04-10 00:00
23年会员
UID 1463
性别 男
状态 离线
必须配合 STRINGS.COM
XSET.EXE


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

第6楼


2 发表于 2003-09-16 00:00 ·  中国 福建 福州 电信
元老会员
★★★
农民
积分 2,903
发帖 991
注册 2003-07-23 00:00
23年会员
UID 7391
性别 男
来自 福建省
状态 离线
怎么实现的,说说看吧
艰难奋长戟,万古用一夫

中国DOS联盟 http://www.cn-dos.net 欢迎大家来共同学习
我的MSN&E-Mail cn_archer@hotmail.com QQ 56049418
3 发表于 2003-09-16 00:00 ·  中国 广东 深圳 福田区 电信
初级用户
积分 150
发帖 7
注册 2003-04-10 00:00
23年会员
UID 1463
性别 男
状态 离线
问:如何得到光驱所在的盘符?

答:可以用本站“脚本工具”中的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月推出的最新版本.
4 发表于 2003-10-07 00:00 ·  中国 广东 广州 天河区 电信
初级用户
★★★
积分 1,480
发帖 377
注册 2003-06-06 00:00
23年会员
UID 3875
性别 男
状态 离线
用一个DREADY就可以了,因为DOS只能识别FAT系统,如果是光驱看它写不写得入就可以排除...
欢迎大家访问我的主页!
精品.爱好http://iso.533.net
5 发表于 2003-10-07 00:00 ·  美国
系统支持
★★★★★★
“新DOS时代”站长
积分 27,736
发帖 10,521
注册 2002-10-09 12:00
23年会员
UID 9
状态 离线
以下是引用电吉入侵在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和雨露,谢谢!)

6 发表于 2003-10-08 00:00 ·  中国 福建 福州 电信
初级用户
积分 112
发帖 4
注册 2003-09-21 00:00
22年会员
UID 10126
性别 男
状态 离线
还有一个问题,DOS下认盘符好象是先认主分区再认扩展分区中的逻辑分区。

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

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

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


7 发表于 2003-10-08 00:00 ·  中国 福建 福州 电信
初级用户
积分 112
发帖 4
注册 2003-09-21 00:00
22年会员
UID 10126
性别 男
状态 离线
我个人认为:

  最好的方法应该从分区表入手!
论坛跳转: