中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net  论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
中国DOS联盟论坛 » DOS疑难解答 & 问题讨论 (解答室) » (已解决)怎样在DOS批处理文件里取得U盘的盘符?
作者:
标题: (已解决)怎样在DOS批处理文件里取得U盘的盘符? 上一主题 | 下一主题
chenqiguang
初级用户





积分 22
发帖 10
注册 2006-9-8
状态 离线
『楼 主』:  (已解决)怎样在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 ]

2006-12-26 23:13
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
zplinux
新手上路





积分 7
发帖 4
注册 2005-10-16
来自 四川成都
状态 离线
『第 2 楼』:  

楼主的问题我不能回答。
不过我可以提供我采用一个办法供参考:
在“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

2006-12-26 23:53
查看资料  发送邮件  访问主页  发短消息 网志  OICQ (46231375)  编辑帖子  回复  引用回复
chenqiguang
初级用户





积分 22
发帖 10
注册 2006-9-8
状态 离线
『第 3 楼』:  

执行的程序需要代参数,必需用绝对路径。

2006-12-27 00:22
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
lianjiang2004
金牌会员





积分 3946
发帖 1884
注册 2006-1-20
状态 离线
『第 4 楼』:  

可以在你的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 ]



Windows 一键还原
http://www.yjhy.com
2006-12-27 03:48
查看资料  发短消息 网志   编辑帖子  回复  引用回复
chenqiguang
初级用户





积分 22
发帖 10
注册 2006-9-8
状态 离线
『第 5 楼』:  



  Quote:
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 ...

试验后再回复

2006-12-27 05:09
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
zihan
初级用户





积分 66
发帖 24
注册 2006-12-14
状态 离线
『第 6 楼』:  

这个问题很简单,我在做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 值,判断就可以知道启动盘符了

2006-12-30 00:18
查看资料  发短消息 网志   编辑帖子  回复  引用回复

请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转: