中国DOS联盟

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

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

中国DOS联盟论坛
现在时间是 2026-08-17 18:49
中国DOS联盟论坛 » DOS疑难解答 & 问题讨论 (解答室) » 请教:如何将U盘引导出来的第一盘符设为一变量? 查看 1,224 回复 13
楼 主 请教:如何将U盘引导出来的第一盘符设为一变量? 发表于 2005-11-29 16:13 ·  中国 福建 泉州 泉港区 电信
中级用户
★★
积分 360
发帖 120
注册 2005-07-14 20:39
21年会员
UID 40722
状态 离线
我想用在U盘上,由于各种主板的兼容性不同,经常会出现用U盘引导时,有的主板相导出U盘是C盘,而有的变成A盘。。所以我想把当前的盘符设为一个变量,就像 %ramdrive% 一个,只要输入这个变量就自动跳到默认的盘符上。

[ Last edited by maxfull on 2005-12-25 at 15:14 ]
2 发表于 2005-11-29 17:49 ·  中国 山西 大同 中移铁通
元老会员
★★★★
Batchinger
积分 4,432
发帖 1,512
注册 2002-10-18 00:00
23年会员
UID 19
性别 男
状态 离线
Re maxfull:

请查阅以下链接中7楼所提到的批处理代码。

批处理编程的异类
http://www.cn-dos.net/forum/viewthread.php?tid=8905#pid54233
※ Batchinger 致 Bat Fans:请访问 批处理编程的异类 ,欢迎交流与共享批处理编程心得!
3 发表于 2005-11-30 01:20 ·  中国 福建 泉州 电信
中级用户
积分 204
发帖 21
注册 2003-07-27 00:00
23年会员
UID 7637
性别 男
状态 离线


[ Last edited by zhenfu on 2005-11-30 at 01:27 ]
4 发表于 2005-11-30 01:31 ·  中国 福建 泉州 电信
中级用户
★★
积分 360
发帖 120
注册 2005-07-14 20:39
21年会员
UID 40722
状态 离线
谢谢 willsort

但是我看了你一下你的说法,似乎只能用于 CMD命令下,我想用在纯DOS模式下可行吗?
5 发表于 2005-11-30 01:49 ·  加拿大 Bell
系统支持
★★★★★★
“新DOS时代”站长
积分 27,736
发帖 10,521
注册 2002-10-09 12:00
23年会员
UID 9
状态 离线
maxfull:不知道你是想要当前的盘符呢,还是U盘引导时的盘符。举个例子,假设U盘是从C盘引导的,但当前盘符为D盘,此时是想将变量设为C盘还是D盘?
Wengier - 新DOS时代

欢迎大家来到我的“新DOS时代”网站,里面有各类DOS软件和资料,地址:
http://wendos.mycool.net/

E-Mail & MSN: wengierwu AT hotmail.com (最近比较忙,有事请联系DOSroot和雨露,谢谢!)

6 发表于 2005-11-30 10:04 ·  中国 山西 太原 中移铁通
元老会员
★★★★
Batchinger
积分 4,432
发帖 1,512
注册 2002-10-18 00:00
23年会员
UID 19
性别 男
状态 离线
Re maxfull:

我有做过只能用于 cmd 下的说明吗?那篇代码最初就是在 MSDOS 6.22 下设计的,首发于网易 DOS 论坛,后来转来这里了。最近因为无忧启动的一位网友提出 cmd 下无法适用,才做了更新,使之可以适用于微软的各个命令行环境。下面是我在代码中的注释,请注意最后。


:: Will Sort - 10:29 2005-7-16 - CMD@XP/COMMAND@Win98/MSDOS6.22
※ Batchinger 致 Bat Fans:请访问 批处理编程的异类 ,欢迎交流与共享批处理编程心得!
7 发表于 2005-11-30 14:58 ·  中国 福建 泉州 电信
中级用户
★★
积分 360
发帖 120
注册 2005-07-14 20:39
21年会员
UID 40722
状态 离线
Originally posted by Wengier at 2005-11-30 01:49:
maxfull:不知道你是想要当前的盘符呢,还是U盘引导时的盘符。举个例子,假设U盘是从C盘引导的,但当前盘符为D盘,此时是想将变量设为C盘还是D盘?


因为主板的兼容性不同,各种主板用U盘引导后,有的U盘的第一盘符变成C,而有的是C,也就是当第一次引导出来的盘不管是C或A,将他设为一个变如 %udisk%

谢谢了。
8 发表于 2005-11-30 14:59 ·  中国 福建 泉州 电信
中级用户
★★
积分 360
发帖 120
注册 2005-07-14 20:39
21年会员
UID 40722
状态 离线
Originally posted by willsort at 2005-11-30 10:04:
Re maxfull:

我有做过只能用于 cmd 下的说明吗?那篇代码最初就是在 MSDOS 6.22 下设计的,首发于网易 DOS 论坛,后来转来这里了。最近因为无忧启加...



谢谢,我再看看,可能我太菜,看不懂比较高级的批处理。。
9 发表于 2005-11-30 15:02 ·  中国 福建 泉州 电信
中级用户
★★
积分 360
发帖 120
注册 2005-07-14 20:39
21年会员
UID 40722
状态 离线
To willsort
我试了你的代码,得到的是当前盘符,而不是我要U盘引导的第一个盘符。。
10 发表于 2005-11-30 15:18 ·  中国 山西 运城 中移铁通
元老会员
★★★★
Batchinger
积分 4,432
发帖 1,512
注册 2002-10-18 00:00
23年会员
UID 19
性别 男
状态 离线
Re maxfull:

因为你的主题标题和主题内容都说是得到当前盘符,而我的程序正是实现如此的功能。就你的应用而言,如果你需要获得"U盘引导的第一个盘符",则需要在U盘引导的过程中进行盘符跳转前执行这个批处理,一般是在 autoexec.bat 中调用它,或者直接将代码嵌入到 autoexec.bat 中。
※ Batchinger 致 Bat Fans:请访问 批处理编程的异类 ,欢迎交流与共享批处理编程心得!
11 发表于 2005-12-01 06:38 ·  加拿大 Bell
系统支持
★★★★★★
“新DOS时代”站长
积分 27,736
发帖 10,521
注册 2002-10-09 12:00
23年会员
UID 9
状态 离线
是啊,我当时就发现他的标题和问题,与他开头述说的应用有差别,于是问他到底是想要当前的盘符还是U盘引导时的盘符。如果是要后者,而且盘符不一定相同(例如:不允许在启动时自动进行处理,故AUTOEXEC.BAT方法无法考虑)的情况下,也可有更简便的方法解决,不过需要用到第三方工具。
Wengier - 新DOS时代

欢迎大家来到我的“新DOS时代”网站,里面有各类DOS软件和资料,地址:
http://wendos.mycool.net/

E-Mail & MSN: wengierwu AT hotmail.com (最近比较忙,有事请联系DOSroot和雨露,谢谢!)

12 发表于 2005-12-06 20:33 ·  中国 福建 泉州 泉港区 电信
中级用户
★★
积分 360
发帖 120
注册 2005-07-14 20:39
21年会员
UID 40722
状态 离线
我是想定位U盘的引导出来的第一盘符啊,比如说引导出是 C: 就把这个C设为一个变量,如 %c% 如果是引导出来是A:也可以用 %C%来实现跳到第一盘符。。
13 发表于 2005-12-07 20:44 ·  中国 山西 临汾 中移铁通
元老会员
★★★★
Batchinger
积分 4,432
发帖 1,512
注册 2002-10-18 00:00
23年会员
UID 19
性别 男
状态 离线
Re maxfull:

那么请“编辑”你的主题的标题以及顶楼的内容,以免更多人产生歧义的理解。

不知你是否尝试了我的建议,将代码在引导盘的 autoexec.bat 中调用或直接嵌入其中。Wengier 提到的“不允许在启动时自动进行处理”我从未碰到过,所以无从得知其具体含义,如果你尝试了以后,确实符合你自己的需要,那就足够了。

否则,你也可以寻找 Wengier 所提到的第三方工具,当然我不知道那个工具获取的是U盘所在的盘符,还是引导盘的盘符?而据我所知,U盘上也可应用虚拟软盘或虚拟软驱的技术,这可能导致引导盘与镜像盘盘符的不同,详细情况尚待确定。
※ Batchinger 致 Bat Fans:请访问 批处理编程的异类 ,欢迎交流与共享批处理编程心得!
14 发表于 2005-12-25 15:16 ·  中国 福建 泉州 泉港区 电信
中级用户
★★
积分 360
发帖 120
注册 2005-07-14 20:39
21年会员
UID 40722
状态 离线
请问楼上的,或者能否将U盘引导出来的第一个盘符,固定为一个盘符,如引导出来将盘自动设为 X: 盘
论坛跳转: