Board logo

标题: [求助]如何取活动分区的分区号和盘符? [打印本页]

作者: gmy     时间: 2009-6-9 23:01    标题: [求助]如何取活动分区的分区号和盘符?
以下是DSPTW产生的磁盘分区列表a.txt:

No. Dr Tag FileSystem Volume Act StartPos Sectors MBytes FreeMB
1:1 Pri HIDE_DELL 63 144522 70
1:2 I: Pri HPFS/NTFS RECOVERY 145408 20971520 10240 4105
1:3 D: Pri HPFS/NTFS OS Yes 21116928 83886080 40960 21514
1:4 C: Log HPFS/NTFS DATAPART1 105005056 101298176 49462 6122
1:5 E: Log HPFS/NTFS SOFT 206305280 20480000 10000 2382
1:6 F: Log HPFS/NTFS BACKUP 226787328 80592896 39352 12603
1:7 Log HIDE_DELL 307382272 5195776 2537


任务:找到YES(活动分区标识)所在行的分区号和盘符,分别赋予变量 a1 和 a2 ,本例的结果应该是 a1=3 , a2=D

要求:用FOR和FINDSTR等自带命令,不要使用第三方工具,输出用echo a1和echo a2,分别只用一行完成。

Last edited by gmy on 2009-6-10 at 04:21 ]

作者: zh159     时间: 2009-6-9 23:15
标题最好加入

作者: zh159     时间: 2009-6-10 07:24
晕还以为是出题呢...

@echo off
for /f "tokens=1,2" %%i in ('findstr/i "Yes" a.txt') do set a1=%%i&set a2=%%j&&call set a1=%%a1:~-1%%&call set a2=%%a2:~0,1%%&&call echo %%a1%% %%a2%%
pause

作者: gmy     时间: 2009-6-11 03:43
for /f "tokens=2,3 delims=: " %%i in ('findstr /i " Yes " a.txt') do set a1=%%i&set a2=%%j&&call echo %%a1%% %%a2%%


可以更精简,以上代码通过测试。

作者: zh159     时间: 2009-6-11 10:20
嗯,忘了用“:”了