Board logo

标题: 请教:如何将U盘引导出来的第一盘符设为一变量? [打印本页]

作者: maxfull     时间: 2005-11-29 16:13    标题: 请教:如何将U盘引导出来的第一盘符设为一变量?

我想用在U盘上,由于各种主板的兼容性不同,经常会出现用U盘引导时,有的主板相导出U盘是C盘,而有的变成A盘。。所以我想把当前的盘符设为一个变量,就像 %ramdrive% 一个,只要输入这个变量就自动跳到默认的盘符上。

[ Last edited by maxfull on 2005-12-25 at 15:14 ]
作者: willsort     时间: 2005-11-29 17:49
Re maxfull:

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

[分享]批处理编程的异类
http://www.cn-dos.net/forum/viewthread.php?tid=8905#pid54233
作者: zhenfu     时间: 2005-11-30 01:20


[ Last edited by zhenfu on 2005-11-30 at 01:27 ]
作者: maxfull     时间: 2005-11-30 01:31
谢谢 willsort

但是我看了你一下你的说法,似乎只能用于 CMD命令下,我想用在纯DOS模式下可行吗?
作者: Wengier     时间: 2005-11-30 01:49
maxfull:不知道你是想要当前的盘符呢,还是U盘引导时的盘符。举个例子,假设U盘是从C盘引导的,但当前盘符为D盘,此时是想将变量设为C盘还是D盘?
作者: willsort     时间: 2005-11-30 10:04
Re maxfull:

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

  Quote:
:: Will Sort - 10:29 2005-7-16 - CMD@XP/COMMAND@Win98/MSDOS6.22


作者: maxfull     时间: 2005-11-30 14:58


  Quote:
Originally posted by Wengier at 2005-11-30 01:49:
maxfull:不知道你是想要当前的盘符呢,还是U盘引导时的盘符。举个例子,假设U盘是从C盘引导的,但当前盘符为D盘,此时是想将变量设为C盘还是D盘?

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

谢谢了。
作者: maxfull     时间: 2005-11-30 14:59


  Quote:
Originally posted by willsort at 2005-11-30 10:04:
Re maxfull:

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

谢谢,我再看看,可能我太菜,看不懂比较高级的批处理。。
作者: maxfull     时间: 2005-11-30 15:02
To willsort
我试了你的代码,得到的是当前盘符,而不是我要U盘引导的第一个盘符。。
作者: willsort     时间: 2005-11-30 15:18
Re maxfull:

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

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

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

      否则,你也可以寻找 Wengier 所提到的第三方工具,当然我不知道那个工具获取的是U盘所在的盘符,还是引导盘的盘符?而据我所知,U盘上也可应用虚拟软盘或虚拟软驱的技术,这可能导致引导盘与镜像盘盘符的不同,详细情况尚待确定。
作者: maxfull     时间: 2005-12-25 15:16
请问楼上的,或者能否将U盘引导出来的第一个盘符,固定为一个盘符,如引导出来将盘自动设为 X: 盘