|
|
发表于 2018-6-13 14:09:23
|
显示全部楼层
本帖最后由 dos时代菜鸟 于 2018-6-13 15:08 编辑
detail disk 获取 vol 信息没有问题,但是 怎么来获取 是否 是 active 呢?
如果涉及到 要 select part 的操作可能就不灵了,比如删除分区,不过我没试过 通过 select vol 选中焦点 再delete part 是否会成功.
所以我还是 要做个判断 是否 select part 成功了,如果没成功,就要做个标记,以后 对这个 卷的操作 不能通过 select part 的方式获取焦点。
刚测试,不能被 select part 的分区 只能进行 格式化和分配盘符,其他的都不行,删除、调整大小的都不行,但是 win10 下用 diskpart 干掉该盘全部分区以后新建一个 分区,offset 默认是 1024k ,新建分区就可以 被 select part 了。 不知道以前那个 不能被 select part 的分区是怎么来的,现在没有了,还没办法测试了。呵呵。
如果只是通过 list part 获取 part 信息,可以 用 去掉 整行第一个字符后获得的字符串参与 for 运算,就不用另写判断语句了。不管他有没有 * 都 踢掉了。就是要外面在包裹一层 for 而已。 不然 单独再来一套 命令,会降低效率。
- for /f "delims=" %%x in ('type !dpscript! ^|diskpart') do (
- set "lx001=%%x"
- if "!lx001:~0,1!"=="*" set "lx001= !lx001:~1!"
- for /f "tokens=1,2" %%a in ("!lx001!") do (
- echo ...
- )
- )
复制代码
|
|