中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟
中国DOS联盟论坛
现在时间是 2026-08-19 05:50
47,814 主题排行 / 349,908 发帖 / 今日 1 篇 / 48,259 会员排行
DOS疑难解答 & 问题讨论 (解答室) » 请教,纯DOS下如何获取当前盘符?
可打印版本  3,641 / 37
第1楼 logan0279 发表于 2007-12-21 14:16
初级用户 发帖 45 积分 100
请教,纯DOS下如何获取当前盘符?
如题,在纯DOS下如何获取当前盘符并输入到某文件中呢?

论坛里搜出来的那篇帖子里的方法都已经试过了,在XP下可以成功,但在纯DOS下却不能成功!出错提示如下:
Sector not found reading drive c.

[ Last edited by logan0279 on 2007-12-21 at 02:22 PM ]
第2楼 lianjiang2004 发表于 2007-12-21 18:13
金牌会员 发帖 1,884 积分 3,946
我的笨办法。
当前盘下,dir ttt.ttt>1.txt
然后处理1.txt文件。
第3楼 Climbing 发表于 2007-12-21 21:39
铂金会员 发帖 2,753 积分 6,962 来自 河北保定


这是当年willsort版主发明的解决方案,在置顶的精华帖子汇总中就有。原帖链接如下:
http://www.cn-dos.net/forum/viewthread.php?tid=13813
第4楼 chishingchan 发表于 2007-12-22 00:24
银牌会员 发帖 538 积分 1,284
echo exit | %comspec% /k prompt set curdrv=$N:$_ | find "set" > tmp.bat
call tmp.bat
echo %curdrv%


如果无需生成过渡文件就最理想了。
第5楼 lianjiang2004 发表于 2007-12-22 08:09
金牌会员 发帖 1,884 积分 3,946
当前盘符不可写时就不行了。
第6楼 logan0279 发表于 2007-12-22 08:36
初级用户 发帖 45 积分 100
其实我是想做一个U盘启动盘,考虑到U盘在某些机子上识别为A盘,在另一些机子上识别为C盘,为了更好地执行U盘上的程序,所以才有此一问的!

不知道各位有没有更好的办法呢?
第7楼 Climbing 发表于 2007-12-22 08:40
铂金会员 发帖 2,753 积分 6,962 来自 河北保定
既然U盘的盘符要么是C:,要么是A:,你直接在U盘上放置一个标志文件,先检测C:下是否有这个标志文件,如果没有,那么盘符就是A:了。
第8楼 lianjiang2004 发表于 2007-12-22 08:51
金牌会员 发帖 1,884 积分 3,946
Originally posted by Climbing at 2007-12-22 08:40:
既然U盘的盘符要么是C:,要么是A:,你直接在U盘上放置一个标志文件,先检测C:下是否有这个标志文件,如果没有,那么盘符就是A:了。

我现在就是这样处理的,实在没办法。
U盘可写还好办,遇上不可写的,一判断就会出错,只好用特征文件了。尽管不能保证万无一失。但简单多了。
第9楼 chishingchan 发表于 2007-12-22 13:36
银牌会员 发帖 538 积分 1,284
Originally posted by logan0279 at 2007-12-22 08:36 AM:
其实我是想做一个U盘启动盘,考虑到U盘在某些机子上识别为A盘,在另一些机子上识别为C盘,为了更好地执行U盘上的程序,所以才有此一问的!

不知道各位有没有更好的办法呢?



无须指定盘符试试,且通用。
第10楼 logan0279 发表于 2007-12-22 19:09
初级用户 发帖 45 积分 100
不指定盘符是不行的呀,因为我是想把U盘上的GHO映像文件还原到硬盘上去,而不同的机子对U盘的识别不同,这样执行GHOST时的参数也就不一样,所以需要知道当前盘符
!
第11楼 logan0279 发表于 2007-12-22 19:15
初级用户 发帖 45 积分 100
7楼的方法着实不错,比我自己想的那个好多了!
第12楼 chishingchan 发表于 2007-12-22 22:50
银牌会员 发帖 538 积分 1,284
Originally posted by logan0279 at 2007-12-22 07:09 PM:
不指定盘符是不行的呀,因为我是想把U盘上的GHO映像文件还原到硬盘上去,而不同的机子对U盘的识别不同,这样执行GHOST时的参数也就不一样,所以需要知道当前盘符
!


照你这样说来是可以的呀!

恢复:
第13楼 jiulong 发表于 2007-12-23 07:19
中级用户 发帖 183 积分 396
@echo off
@for /f "tokens=2" %%i in ('dir^|find "驱动器"') do echo 当前盘符为:%%i
pause
第14楼 qzwqzw 发表于 2007-12-23 13:59
银牌会员 发帖 636 积分 2,343
获取U盘引导盘盘符的话
我用的是%comspec%变量

第15楼 lianjiang2004 发表于 2007-12-23 15:26
金牌会员 发帖 1,884 积分 3,946
Originally posted by qzwqzw at 2007-12-23 13:59:
获取U盘引导盘盘符的话
我用的是%comspec%变量

1 2 3  下一页
[ 联系联盟系统管理团队 - 中国DOS联盟 - 标准版 ]
Sponsored by ifanr Inc | © 2001–2023