![]() |
中国DOS联盟-- 联合DOS 推动DOS 发展DOS --联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum |
| 游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟 |
|
中国DOS联盟论坛 现在时间是 2026-08-08 02:25 |
共 48,041 主题排行 / 350,128 发帖 / 今日 3 篇 / 48,253 会员排行 |
| DOS批处理 & 脚本技术(批处理室) » [已解决]如何正确的获得纯DOS下的最后分区盘符? |
| 可打印版本 7,700 / 65 |
| 第1楼 chishingchan | 发表于 2007-12-21 18:10 |
| 银牌会员 发帖 538 积分 1,284 | |
|
[已解决]如何正确的获得纯DOS下的最后分区盘符? :: 检测硬盘最后分区盘符
Partition Status Type Volume Label Mbytes System Usage 在不区分NTFS格式的情况下,(CMD环境)以上代码会返回值为(H:) 如何将%lastdrive%值可以应用在纯DOS(不加载NTFS驱动)下? C:=C: 在单硬盘的情况下,请高手帮忙在CMD环境下运行批处理后显示:(请具有通用性,不限此硬盘) CMD 下最后分区盘符是 H: DOS 下最后分区盘符是 F: 总结代码在41楼 [ Last edited by chishingchan on 2008-4-10 at 10:03 PM ] |
|
| 第2楼 Climbing | 发表于 2007-12-21 22:34 |
| 铂金会员 发帖 2,753 积分 6,962 来自 河北保定 | |
|
基本上比较麻烦,如果只有一个主分区还好处理,如果用户有多个主分区,那将会极大增加复杂度。
|
|
| 第3楼 chishingchan | 发表于 2007-12-21 23:27 |
| 银牌会员 发帖 538 积分 1,284 | |
Originally posted by Climbing at 2007-12-21 10:34 PM: 那就算是一个主分区、一个扩展分区下分若干逻辑分区的情况来解答一下吧! |
|
| 第4楼 qzwqzw | 发表于 2007-12-21 23:46 |
| 银牌会员 发帖 636 积分 2,343 | |
|
DOS命令行下识别分区通常都是直接取gdisk或者ghost /d的输出的
如果能给最后的分区设上标记的话 工作将会比较简单 否则处理量会比较大一点 我见过的代码大部分都是加在指定分区加标记文件 当然以前也做过标记卷标的讨论 |
|
| 第5楼 chishingchan | 发表于 2007-12-22 00:13 |
| 银牌会员 发帖 538 积分 1,284 | |
|
因我我对FOR命令用得不怎么熟,上面这行应该可以实现:查找FAT32字符,从C:起开始按个数分配,例如:有3个FAT32的就确定为C:D:E:,即DOS最后的盘符为E:,熟悉FOR的朋友能否帮忙列出完整的批处理? 其实只查找 FAT 的字符就等于包含了 DOS 所认的盘符了。 [ Last edited by chishingchan on 2007-12-22 at 12:15 AM ] |
|
| 第6楼 chishingchan | 发表于 2007-12-22 00:53 |
| 银牌会员 发帖 538 积分 1,284 | |
|
帮忙一下吧!在线等。。。
|
|
| 第7楼 lianjiang2004 | 发表于 2007-12-22 08:05 |
| 金牌会员 发帖 1,884 积分 3,946 | |
|
理解错误,不好意思。
[ Last edited by lianjiang2004 on 2007-12-22 at 05:13 PM ] |
|
| 第8楼 lianjiang2004 | 发表于 2007-12-22 08:37 |
| 金牌会员 发帖 1,884 积分 3,946 | |
|
理解错误,不好意思。呵呵。
[ Last edited by lianjiang2004 on 2007-12-24 at 08:03 AM ] |
|
| 第9楼 Climbing | 发表于 2007-12-22 08:44 |
| 铂金会员 发帖 2,753 积分 6,962 来自 河北保定 | |
|
@lianjiang:
你的批处理是运行在纯DOS环境下的,这不符合楼主提出的在cmd下运行的要求。 下面是我的解决方案: gdisk32 | find /c /i "fat" 看一下这个结果,根据结果数字很容易得出最后分区在DOS下的盘符: c: d: e: f: g: ... 1 2 3 4 5 ... |
|
| 第10楼 lianjiang2004 | 发表于 2007-12-22 08:46 |
| 金牌会员 发帖 1,884 积分 3,946 | |
Originally posted by Climbing at 2007-12-22 08:44: 如何正确的获得纯DOS下的最后分区盘符? 要的是纯dos下的吧? |
|
| 第11楼 chishingchan | 发表于 2007-12-22 10:11 |
| 银牌会员 发帖 538 积分 1,284 | |
Originally posted by Climbing at 2007-12-22 08:44 AM: 说的没错!是在CMD下得到DOS下的最后盘符。 gdisk32 | find /c /i "fat" 得到的结果是 0 我想是漏了个1吧!? gdisk32 1 | find /c /i "fat" 在我的电脑上得到的结果是 6,因为我的分区全是FAT32的,顶楼是为例改成NTFS的。 GDISK32容量太大了,能否使用XP自带的命令处理?能否列出完整的批处理? |
|
| 第12楼 chishingchan | 发表于 2007-12-22 10:25 |
| 银牌会员 发帖 538 积分 1,284 | |
|
7楼仁兄用了几个外部程序及一个过渡文件,觉得不够理想。在经典代码里找出以下查看硬盘信息的一段批处理:
能否结合 得到我想要的结果? |
|
| 第13楼 lianjiang2004 | 发表于 2007-12-22 11:17 |
| 金牌会员 发帖 1,884 积分 3,946 | |
|
理解错误,删除。
[ Last edited by lianjiang2004 on 2007-12-24 at 08:03 AM ] |
|
| 第14楼 lianjiang2004 | 发表于 2007-12-22 11:21 |
| 金牌会员 发帖 1,884 积分 3,946 | |
|
当然各人的用途不同,处理思路肯定也不一样。
|
|
| 第15楼 chishingchan | 发表于 2007-12-22 11:50 |
| 银牌会员 发帖 538 积分 1,284 | |
Originally posted by lianjiang2004 at 2007-12-22 11:17 AM: 单硬盘的话出现盘符错乱的结果一般很少,犹其是我所说的一主一扩几逻辑的分区方式。 CMD环境下的硬盘处理的自带命令行工具非常丰富,且无必要到DOS下的话就尽量避免。谢谢你的解答! 你说每个人的意愿都不同的,希望你能帮助我如题的解答。 |
|
| 1 2 3 4 … 5 下一页 |
|
[ 联系联盟系统管理团队 -
中国DOS联盟 -
标准版 ] Sponsored by ifanr Inc | © 2001–2023 |