中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟
中国DOS联盟论坛
现在时间是 2026-08-03 02:08
48,038 主题排行 / 350,123 发帖 / 今日 1 篇 / 48,251 会员排行
DOS批处理 & 脚本技术(批处理室) » 又来麻烦各位了,关于dos下活动主分区的判断。
可打印版本  786 / 6
第1楼 lianjiang2004 发表于 2007-01-13 23:17
金牌会员 发帖 1,884 积分 3,946
又来麻烦各位了,关于dos下活动主分区的判断。
又来麻烦各位了,关于dos下活动主分区的判断。

DOS下运行小工具dspt,输出的数据如下,如何用批处理获得活动主分区的分区号。
windows下可通过tokens来获得,dos下如何解决?请指点。
若有其它好方法也请指教。

-----------------------------------
Disk Partitions Cylinders Heads Sectors TotalSectors Mbytes
0 6 14593 255 63 234441648 114473
No. Type PartitionType Active StartSector Sectors MBytes
1 Primary HPFS/NTFS Yes 63 15438402 7538
2 Primary Hide HPFS/NTFS 15438465 15293880 7467
3 Logic HPFS/NTFS 30732408 20482812 10001
4 Logic HPFS/NTFS 51215283 30732282 15005
5 Logic Win95 FAT32 81947628 61448562 30004
6 Logic HPFS/NTFS 143396253 91040292 44453
第2楼 zh159 发表于 2007-01-13 23:59
金牌会员 发帖 1,467 积分 3,687
XP 下可以用type b.txt|find "Yes"找出来,不知道DOS下行不行
第3楼 lianjiang2004 发表于 2007-01-14 00:51
金牌会员 发帖 1,884 积分 3,946
type b.txt|find "Yes"DOS下可用,问题是只能判断是否有活动分区,但是不能确定分区号。
因为要自动备份活动分区。
第4楼 zh159 发表于 2007-01-14 03:46
金牌会员 发帖 1,467 积分 3,687
“1 Primary HPFS/NTFS Yes 63 15438402 7538”
分区号就是第一位数字,提取出来就OK了
第5楼 lianjiang2004 发表于 2007-01-14 06:19
金牌会员 发帖 1,884 积分 3,946
怎么提取出来?
第6楼 lianjiang2004 发表于 2007-01-14 06:25
金牌会员 发帖 1,884 积分 3,946
现在我只能象下面这样列举瞎蒙。
问题是这样的找法是否有通用性。

:nact
set actp=
type HD0.TXT|find /i "1 Primary HPFS/NTFS Yes" >nul
if errorlevel 1 goto nact2
set actp=1
goto lastp

:nact2
type HD0.TXT|find /i "2 Primary HPFS/NTFS Yes" >nul
if errorlevel 1 goto fact
set actp=2
goto lastp

:fact
set actp=
type HD0.TXT|find /i "1 Primary Win95 FAT32 Yes" >nul
if errorlevel 1 goto fact2
set actp=1
goto lastp
第7楼 lianjiang2004 发表于 2007-01-14 23:35
金牌会员 发帖 1,884 积分 3,946
难道没什么办法吗?
[ 联系联盟系统管理团队 - 中国DOS联盟 - 标准版 ]
Sponsored by ifanr Inc | © 2001–2023