我下载了上面那个帖子中的loadiso.rar,简单看了一下,原来那是一张启动软盘的内容,真正与DOS下打开ISO文件有关系的东西在dazip.exe中(这是一个自解压文件),用Winrar解开这个文件,里面的iso.bat就是核心了,这是一个使用wbat驱动的菜单式的批处理文件,可以让用户选择要打开的iso文件,而其打开iso文件的核心就是下面两条命令:
SHSUCDHD /F:%Sfile%
SHSUCDX /D:SHSU-CDH,Z
其中的%Sfile%是用户选择要打开的iso文件的路径,假设是d:\w2k.iso,那么这两条命令就是这个样子:
SHSUCDHD /F:d:\w2k.iso
SHSUCDX /D:SHSU-CDH,Z
第一条命令用来将iso文件模拟成一个光驱设备,第二个命令就是挂载这个设备到Z:盘。
如果要详细讲解ISO.bat的功能,那恐怕要花上几个晚上,尤其是wbat的用法,本身就已经相当复杂了。而所有的关键就是上面两条命令,将这两条命令组合一下生成一个简单的批处理就可以完成大部分任务:
:: loadisos.bat
@echo off
SHSUCDHD /F:%1
SHSUCDX /D:SHSU-CDH,Z
用法:loadisos d:\w2k.iso
原ISO.BAT的内容如下:
@echo off
LH Smartdrv 4088 4088 >NUL
recur
cls
:Menu
call w.bat box @ISO.bat:WMenu
if errorlevel 100 goto exit
if errorlevel 3 goto Rebt
if errorlevel 2 goto exit
:ISO1
echo :list " 请选择ISO光盘镜像文件的所在盘 ">%temp%\tmp.txt
func -a9 >>%temp%\tmp.txt
call w.bat list @%temp%\tmp.txt:list
if errorlevel 100 goto Menu
if "%wbat%"=="" goto Menu
set Spath=%wbat%:\
echo 正在搜索 %Spath%盘里的光盘镜像文件,请耐心等待...
echo :S_dir " 请选择光盘镜像文件 " >%temp%\tmp.txt
dir %Spath%*.ISO /b /s >>%temp%\tmp.txt
type %temp%\tmp.txt|find /i "ISO"
if errorlevel 1 goto NOISO
cls
call w.bat list @%temp%\tmp.txt:S_dir
if errorlevel 100 goto ISO1
if "%wbat%"=="" goto ISO1
set Sfile=%wbat%
set p=1
:ISO2
if "%p%"=="" goto ISO1
:ISO3
SHSUCDHD /F:%Sfile%
SHSUCDX /D:SHSU-CDH,Z
if errorlevel 1 goto exit
goto end
:NOISO
cls
call w.bat box @ISO.bat:WNOISO
if errorlevel 100 goto ISO1
if errorlevel 1 goto ISO1
:WNOISO " 【ISO光盘镜像文件安装向导】 "
没有找到任何ISO光盘镜像文件,请"确定"后重新选择.
::
:wMenu " 【ISO光盘镜像文件安装向导】"
※※※※※※※※※※※※※※※※※※※※※※※※※
※ ※
※ ※
※ ※
※ ※
※ ※
※ ※
※ ※
※ ※
※ ★★ 制作: 蒙良德 ★ 2003.06.11 ★★ ※
※==============================================※
※※※※※※※※※※※※※※※※※※※※※※※※※
::
:Rebt
reboot.com
:end
set Sfile=
set Spath=
set p=
set wbat=
if exist %temp%\tmp.txt del %temp%\tmp.txt
CLS
ECHO,
ECHO 【ISO光盘镜像文件安装向导】
Z:
DIR/W
ECHO,
ECHO ISO光盘镜像文件已经安装...
ECHO,
GOTO EXT
:exit
A:
:EXT
楼主要想将这个批处理彻底搞明白,那需要下很多功夫学习DOS的基础知识及WBAT的用法。