![]() |
中国DOS联盟-- 联合DOS 推动DOS 发展DOS --联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum |
| 游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟 |
|
中国DOS联盟论坛 现在时间是 2026-08-15 12:47 |
共 47,813 主题排行 / 349,903 发帖 / 今日 1 篇 / 48,257 会员排行 |
| DOS疑难解答 & 问题讨论 (解答室) » [详解] 纯DOS下巧获硬盘的最后盘符 |
| 可打印版本 1,618 / 3 |
| 第1楼 chishingchan | 发表于 2009-10-12 15:45 |
| 银牌会员 发帖 538 积分 1,284 | |
|
[详解] 纯DOS下巧获硬盘的最后盘符 本人健忘,所以有此发表,一来方便别人,二来自己作笔记。
所需工具: http://upload.cn-dos.net/img/1715.rar 包含文件: COUNT.COM COUNT.TXT HDRIVE.EXE NSET.COM NSET.TXT 特点:不生成(第三方) 文件 完整例子: HDRIVE.EXE 是获取可识别的硬盘盘符,当硬盘的分区格式为非FAT32时就不能识别了,例如,现有硬盘的分区如下: C:FAT32 D:FAT32 E:NTFS F:FAT32 运行:C:\>HDRIVE.EXE 回车 后 返回: C: D: E: 原 E:不能被识别,所以由 F:顶替,即这里的 E:是 Windows 下的 F:盘。 NSET.COM 的作用是将传送过来的参数定义为自我识别的 $?,并可定义变量。 例如:HDRIVE.EXE|NSET.COM LASTPART=$%NUM% HDRIVE.EXE 将 C:D:E:的参数传送给 NSET.COM,即代表: C: D: E: $1 $2 $3 LASTPART=$%NUM% 当 NUM 的值为 4 时,即LASTPART=空 (空代表如果存在此变量即删除此变量) 当 NUM 的值为 3 时,即LASTPART=E: 为什么要定义 NUM=25 ?循环的内容中先减1(经523066680提醒改进) 因为硬盘盘符是由 C:起计算的,24 就代表 Z:盘符了。 COUNT.COM 的作用是将数字变量的值进行运算 COUNT.COM NUM - 代表将变量的值减 1 IF "%LASTPART%"=="" GOTO CHECK 当变量 LASTPART 的值为空时,即还未到最后盘符的数字,循环,直至 NUM 的值是 3 时将 $3 代表的值 E:赋值给变量 LASTPART,这时 LASTPART 非空了,结束循环。 [ Last edited by chishingchan on 2009-10-19 at 12:55 ] |
|
| 第2楼 523066680 | 发表于 2009-10-12 17:54 |
| 银牌会员 发帖 1,133 积分 2,362 | |
|
hi ~ 2009第一次见到你发帖呢。
还记得我吗~ http://www.cn-dos.net/forum/viewthread.php?tid=39780 你说的那句话好鼓励我的^_^ ----------------------------------------- 对了,你说是由C开始计算的,那么Z不应该是26了哦。 [ Last edited by 523066680 on 2009-10-12 at 17:59 ] |
|
| 第3楼 chishingchan | 发表于 2009-10-12 22:28 |
| 银牌会员 发帖 538 积分 1,284 | |
Originally posted by 523066680 at 2009-10-12 05:54 PM: 对!谢谢提醒!这个低级的错误竟然发生在我的身上。哈哈! 没办法!项目多着呢!现在爱好的是VBS,DOS 现在需要用才会去研究,因此就会健忘,所以才发表这篇错文! |
|
| 第4楼 33445566 | 发表于 2009-10-13 20:54 |
| 初级用户 发帖 16 积分 29 | |
|
再加个获纯DOS下最后的硬盘盘符的批处理更好
|
|
|
[ 联系联盟系统管理团队 -
中国DOS联盟 -
标准版 ] Sponsored by ifanr Inc | © 2001–2023 |