标题: 又来麻烦各位了,关于dos下活动主分区的判断。
[打印本页]
作者: lianjiang2004
时间: 2007-1-13 23:17
标题: 又来麻烦各位了,关于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
作者: zh159
时间: 2007-1-13 23:59
XP 下可以用type b.txt|find "Yes"找出来,不知道DOS下行不行
作者: lianjiang2004
时间: 2007-1-14 00:51
type b.txt|find "Yes"DOS下可用,问题是只能判断是否有活动分区,但是不能确定分区号。
因为要自动备份活动分区。
作者: zh159
时间: 2007-1-14 03:46
“1 Primary HPFS/NTFS Yes 63 15438402 7538”
分区号就是第一位数字,提取出来就OK了
作者: lianjiang2004
时间: 2007-1-14 06:19
怎么提取出来?
作者: lianjiang2004
时间: 2007-1-14 06:25
现在我只能象下面这样列举瞎蒙。
问题是这样的找法是否有通用性。
: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
作者: lianjiang2004
时间: 2007-1-14 23:35
难道没什么办法吗?