vb.net磁碟机代号 fc磁碟机bios文件下载

如何固定 Dataram RAMDisk 的磁碟代号官方解决方案
Dataram 也意识到这个问题vb.net磁碟机代号,於是在软件vb.net磁碟机代号的用户手册中提出了一个解决方案 , 我称之为官方解决方案 。方案如下:先启动软件,设定好虚拟磁碟,并在控制台中将虚拟磁碟的代号设定为想要的代号,然後将虚拟磁碟的内容储存成硬碟中的一个映像档,然後每次启动软件的时候,自动载入这个映像档,(有点像电脑游戏中的“储存”和“载入”的功能),那 就可以每次都恢复相同的设定 , 包括磁碟代号 。
【vb.net磁碟机代号 fc磁碟机bios文件下载】但是,这个官方解决方案有两个弊端,使得我个人认为比不用还好 。
这个方案需要在磁碟机中建立一个与虚拟磁碟大小相同的映像档 。(虽然最新版本可以对映像档进行压缩,但是每次执行都要进行解压缩,是用时间来空间,与使用 RAMDisk 的意愿不符)
每次启动软件时,都需要载入这 大的映像档,既费时,又增加硬碟读写消耗,与RAMDisk 使用的意愿不符 。
我的方案:使用 DOS Batch 程序
为此,我专门写了一个小小的 DOS Batch 程序 , (如不计算程序中的注解的话,真正的程式码只有三行) 。这个程式使用了 Dataram RAMDisk 的一个特性功能:允许用户指定磁碟机名称(Drive Label),磁碟机名称与磁碟机代号不同 。对於系统而言,是使用磁碟机代号(C:,D:,E: …)来代表不同的磁碟机 , 但对於用户而言,我们可以使用磁碟机名称(“SystemDisk”, “MediaDisk” …)来表示不同的磁碟机 。在Dataram RAMDisk,用户可以为虚拟磁碟指定一个每次启动都保持不变的磁碟机名称 。我的方案原理就是:每次启动时,以指定的磁碟机名称找出磁碟机代号(动态分配的代号,如 K:),然後建立另一个指定代号(如R:)的磁碟,将这个动态分配的代号(K:)与指定的代号(R:)进行关联 。那,无论我们打 “K:\Cache” 还是 “R:\Cache”,系统都会连到相同的目录 。
详细步骤
为了将事情简单化,我在这里列出每一步步骤 。
1. 建立一个 DOS Batch 档案
用“记事本”建立一个文字档案,敲入以下的程式码 , 然後储存为 C:\StartUp.bat(当然您可以使用其他名称或储存在其他地方) 。由於“断行”在 DOS Batch 档案中是代表程式码完结,故此,千万不要随意在这些程式码中间加入“断行”,否则可能会造成程式不能执行 。
@rem assign the key variables.
SET _label=RAMDISK
SET _ramdrive=R:
@rem Below is the magic happens : Find the drive letter which has volume name set as _label, and mount it to _ramdrive
FOR /F "skip=1 tokens=1 delims=: " %%a IN ('wmic logicaldisk where "VOLUMENAME='%_label%'" get caption') DO ( subst %_ramdrive% %%a:\ )
@rem if you want to copy some files or mount your cache folders, do it after this line.
以下是关於这段程式码的详细说明,如果您对 DOS Batch 程式码没有兴趣,绝对可以跳过这段,直接进行步骤2 。
这一行:
wmic logicaldisk where "VOLUMENAME='RAMDISK'" get caption
是要根据磁碟机名称 (VOLUMENAME) 找出磁碟机代号 (caption),执行结果如下:
Caption
K:
这个结果是以字串形式给出的 , 然後我们透过一个 for-loop,逐行分拆这个结果 , 第一行 (caption) 可以跳过,第二行就是我们想要的东西 。我们要将第二行用冒号 “:” 拆开,得出 “K” 和 “”(空字元) 两个元素,按後将第一个元素 “K” 储存到变量 %%a 之中 。那 我们就可以用 %%a 变量去代表这个动态分配的磁碟机代号了 。

推荐阅读