虚拟内存管理器 XMSDSK.EXE
XMSDSK 就是用 XMS 内存创建磁盘,通常只要加载 DOS 自带的 HIMEM.SYS 程序(如果是 MS-DOS的话,最好使用 7.10 或以上版本,以让 HIMEM.SYS 支持 64M 以上的 XMS 内存),然后就可以随便使用它了,用%RAMDRIVE% 调用。它支持极大的内存(目前高达 2G ),因此比如我们有 512M 的内存,甚至可将所有的 XMS内存都虚拟成磁盘。
例如,XMSDSK 10240 /Y(创建或将已建立的内存盘的大小调整为 10M )
XMSDSK 是目前 DOS 下最好最强大的用 XMS 内存虚拟磁盘的工具,它是 RAMDRIVE.SYS最佳替代品。与之对应的有 EMSDSK ,即用 EMS 内存虚拟磁盘的工具。
警告:Ramdrive 只临时存在,如果正常重启动计算机,它将消失。
4.对Autoexec.bat文件的编辑
@echo off
set EXPAND=YES → 置解压为自动
XMSDSK X: 10240 /y → 扩展内存中建立 10M 的虚拟磁盘,并 分配盘符为 X:
FINDRAMD → 查询虚拟磁盘盘符
md %RAMDRIVE%temp → 创建临时文件夹路径
set temp=%RAMDRIVE%temp → 设置临时文件夹路径
set tmp=%RAMDRIVE%temp
path=%RAMDRIVE%;a: → 设置系统环境变量,在 DOS 下就不用来回切换盘符了
copy Command.com %RAMDRIVE% → 复制 Command.com 到虚拟盘中
set comspec=%RAMDRIVE%Command.com → 设置 DOS 命令解释器的路径为%RAMD%:Command.com
copy Extract.exe %RAMDRIVE% → 复制 Extract.exe 到虚拟盘中
%RAMDRIVE%EXTRACT /y /e /l %RAMDRIVE% a:ebd.cab → 把 ebd.cab里面的文件解压到虚拟盘中
echo.
echo.
echo The XMS RAMDRIVE is Loaded in Drive %RAMDRIVE% Now.
Pause
echo.
echo.
%RAMDRIVE% → 更改当前盘符,否则Pdos.bat会找不到路径( Pbios.exe 调用 *.def文件的路径默认为当前)
New.bat → 执行压缩包里的启动程序
xmsdsk.exe 4096 f: /y
设置一个分区符为 F: 的 4MB 的虚拟盘
xmsdsk.exe f: /u /y
将虚拟盘 F: 卸载
>>>>>>>>>>>>>>>>>>>>>>>>>>
ROM-DOS是个非常强大实用的DOS,不仅稳定性和兼容性很好,而且本地支持长文件名和FAT32以及其它各种工具和程序开发包(SDK),现提供它的启动盘下载:
http://newdos.yginfo.net/dosware/rdos71bd.zip
注:此为在原来我做的ROM-DOS启动盘上修改过的增强版本,增加了用XMSDSK创建内存虚拟盘,并用网友baobolz提到的那个实用的FINDRAMD程序查找内存盘所在驱动器,并将COMMAND.COM文件复制到内存盘的功能。尤其是可以看看这个关于内存盘的查找功能。
源代码:
break on
lfnfor on
verify on
set dircmd=/OGN /4
set comspec=a:command.com
path=a:;..
mode con rate=32 delay=1
killer.exe
doskey.com
mscdex.exe /D:CDROM1 /K
ctmouse.exe /r3
set ramdrive=
xmsdsk 1024 /y
findramd>nul
if %ramdrive%#==# goto noram
copy command.com %ramdrive%>nul
path=%ramdrive%;%path%
set comspec=%ramdrive%command.com
:noram
解释:
break on 可以按下Pause键来中断
lfnfor on 支持长文件名
verify on 支持检验,比如复制时
set dircmd=/OGN /4 设置DIR命令的参数
set comspec=a:command.com 设置命令处理器路径
path=a:;.. 设置搜索路径
mode con rate=32 delay=1 键盘速度
killer.exe 中断某些程序运行的常驻内存程序
doskey.com 不用说了吧?!
mscdex.exe /D:CDROM1 /K
ctmouse.exe /r3 鼠标
set ramdrive=xmsdsk 1024 /y 设置虚拟盘
findramd>nul 查找虚拟盘
if %ramdrive%#==# goto noram 判断虚拟盘符
copy command.com %ramdrive%>nul复制命令处理器到虚拟盘中,加快响应速度
path=%ramdrive%;%path% 添加虚拟盘路径
set comspec=%ramdrive%command.com 设置命令处理器路径
:noram