中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟
中国DOS联盟论坛
现在时间是 2026-08-17 17:56
47,814 主题排行 / 349,907 发帖 / 今日 4 篇 / 48,259 会员排行
DOS疑难解答 & 问题讨论 (解答室) » 请教:如何将U盘引导出来的第一盘符设为一变量?
可打印版本  1,223 / 13
第1楼 maxfull 发表于 2005-11-29 16:13
中级用户 发帖 120 积分 360
请教:如何将U盘引导出来的第一盘符设为一变量?
我想用在U盘上,由于各种主板的兼容性不同,经常会出现用U盘引导时,有的主板相导出U盘是C盘,而有的变成A盘。。所以我想把当前的盘符设为一个变量,就像 %ramdrive% 一个,只要输入这个变量就自动跳到默认的盘符上。

[ Last edited by maxfull on 2005-12-25 at 15:14 ]
第2楼 willsort 发表于 2005-11-29 17:49
元老会员 发帖 1,512 积分 4,432
Re maxfull:

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

批处理编程的异类
http://www.cn-dos.net/forum/viewthread.php?tid=8905#pid54233
第3楼 zhenfu 发表于 2005-11-30 01:20
中级用户 发帖 21 积分 204


[ Last edited by zhenfu on 2005-11-30 at 01:27 ]
第4楼 maxfull 发表于 2005-11-30 01:31
中级用户 发帖 120 积分 360
谢谢 willsort

但是我看了你一下你的说法,似乎只能用于 CMD命令下,我想用在纯DOS模式下可行吗?
第5楼 Wengier 发表于 2005-11-30 01:49
系统支持 发帖 10,521 积分 27,736
maxfull:不知道你是想要当前的盘符呢,还是U盘引导时的盘符。举个例子,假设U盘是从C盘引导的,但当前盘符为D盘,此时是想将变量设为C盘还是D盘?
第6楼 willsort 发表于 2005-11-30 10:04
元老会员 发帖 1,512 积分 4,432
Re maxfull:

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


:: Will Sort - 10:29 2005-7-16 - CMD@XP/COMMAND@Win98/MSDOS6.22
第7楼 maxfull 发表于 2005-11-30 14:58
中级用户 发帖 120 积分 360
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楼 maxfull 发表于 2005-11-30 14:59
中级用户 发帖 120 积分 360
Originally posted by willsort at 2005-11-30 10:04:
Re maxfull:

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



谢谢,我再看看,可能我太菜,看不懂比较高级的批处理。。
第9楼 maxfull 发表于 2005-11-30 15:02
中级用户 发帖 120 积分 360
To willsort
我试了你的代码,得到的是当前盘符,而不是我要U盘引导的第一个盘符。。
第10楼 willsort 发表于 2005-11-30 15:18
元老会员 发帖 1,512 积分 4,432
Re maxfull:

因为你的主题标题和主题内容都说是得到当前盘符,而我的程序正是实现如此的功能。就你的应用而言,如果你需要获得"U盘引导的第一个盘符",则需要在U盘引导的过程中进行盘符跳转前执行这个批处理,一般是在 autoexec.bat 中调用它,或者直接将代码嵌入到 autoexec.bat 中。
第11楼 Wengier 发表于 2005-12-01 06:38
系统支持 发帖 10,521 积分 27,736
是啊,我当时就发现他的标题和问题,与他开头述说的应用有差别,于是问他到底是想要当前的盘符还是U盘引导时的盘符。如果是要后者,而且盘符不一定相同(例如:不允许在启动时自动进行处理,故AUTOEXEC.BAT方法无法考虑)的情况下,也可有更简便的方法解决,不过需要用到第三方工具。
第12楼 maxfull 发表于 2005-12-06 20:33
中级用户 发帖 120 积分 360
我是想定位U盘的引导出来的第一盘符啊,比如说引导出是 C: 就把这个C设为一个变量,如 %c% 如果是引导出来是A:也可以用 %C%来实现跳到第一盘符。。
第13楼 willsort 发表于 2005-12-07 20:44
元老会员 发帖 1,512 积分 4,432
Re maxfull:

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

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

否则,你也可以寻找 Wengier 所提到的第三方工具,当然我不知道那个工具获取的是U盘所在的盘符,还是引导盘的盘符?而据我所知,U盘上也可应用虚拟软盘或虚拟软驱的技术,这可能导致引导盘与镜像盘盘符的不同,详细情况尚待确定。
第14楼 maxfull 发表于 2005-12-25 15:16
中级用户 发帖 120 积分 360
请问楼上的,或者能否将U盘引导出来的第一个盘符,固定为一个盘符,如引导出来将盘自动设为 X: 盘
[ 联系联盟系统管理团队 - 中国DOS联盟 - 标准版 ]
Sponsored by ifanr Inc | © 2001–2023