中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟
中国DOS联盟论坛
现在时间是 2026-08-18 14:30
47,814 主题排行 / 349,908 发帖 / 今日 1 篇 / 48,259 会员排行
DOS疑难解答 & 问题讨论 (解答室) » (已解决)怎样在DOS批处理文件里取得U盘的盘符?
可打印版本  1,263 / 5
第1楼 chenqiguang 发表于 2006-12-26 23:13
初级用户 发帖 10 积分 22
(已解决)怎样在DOS批处理文件里取得U盘的盘符?
U盘制作的DOS启动盘启动到MS-DOS7.1后,在有些机器上的盘符为“A:” ,而在另一些机器上的盘符又为“C:”。
U盘中的批处理文件 autoexec.bat 当U盘的盘符为“A:”时,需要执行程序A;当U盘的盘符为“C:”时,需要执行程序C。
请问怎样在DOS批处理文件 autoexec.bat 里取得U盘的盘符来实现?
先谢谢啦!

用4楼介绍的方法搞定。

再次谢谢热心网友的解答!

[ Last edited by chenqiguang on 2006-12-27 at 10:28 PM ]
第2楼 zplinux 发表于 2006-12-26 23:53
新手上路 发帖 4 积分 7 来自 四川成都
楼主的问题我不能回答。
不过我可以提供我采用一个办法供参考:
在“autoexec.bat”中设定程序执行路径如下:
SET PATH=A:\dos_tool\;A:\;\C:\dos_tool\;C:\
之后执行程序,就直接写程序名。
如:
LH CTMOUSE
LH DOSKEY
不必用绝对路径调用程序。即可。
关于出现A和C盘区别的原因,与引导性U盘制作方式有关。
zip/FDD方式的,启动后为A盘
HDD方式的,启动后为C盘。
不尽之处,可以通过E-mail联系我,交流。
zplinux@21cn.com
第3楼 chenqiguang 发表于 2006-12-27 00:22
初级用户 发帖 10 积分 22
执行的程序需要代参数,必需用绝对路径。
第4楼 lianjiang2004 发表于 2006-12-27 03:48
金牌会员 发帖 1,884 积分 3,946
可以在你的U盘根目录放一个特征文件,用于判断。
假如文件为myudisk.000
if not exit a:\myudisk.000 goto c
a
goro exit

:c
c

:exit

[ Last edited by lianjiang2004 on 2006-12-27 at 03:50 AM ]
第5楼 chenqiguang 发表于 2006-12-27 05:09
初级用户 发帖 10 积分 22
Originally posted by lianjiang2004 at 2006-12-27 03:48:
可以在你的U盘根目录放一个特征文件,用于判断。
假如文件为myudisk.000
if not exit a:\myudisk.000 goto c
a
goro exit

:c
c

:exit

[ Last edited by lianjiang2004 ...


试验后再回复
第6楼 zihan 发表于 2006-12-30 00:18
初级用户 发帖 24 积分 66
这个问题很简单,我在做U盘启动时也遇见过,U盘本来是ZIP的,但有些主板启动后非要认成C:盘,所以就要识别启动盘的盘符。
有两个方法:
1、特征辨别,FOR %%A IN (A: C:) DO IF EXIST DOS\DRIVERS\NUL SET BDR=%%A (DOS\DRIVERS是我U盘中的目录)这样就可以将启动盘符设置到%BDR%变量中了。
2、用一个小工具:bootdrv.com ,运行它后将返回 errorrlevel 值,判断就可以知道启动盘符了
[ 联系联盟系统管理团队 - 中国DOS联盟 - 标准版 ]
Sponsored by ifanr Inc | © 2001–2023