|
|
发表于 2007-6-20 08:42:10
|
显示全部楼层
@echo off
MSCDEX /D:MSCD000
for %%b in (c d e f g h i j k l m n o p q r s t u v w x y z) do if exist %%b:\Ghost.exe set cd=%%b
%cd%:
cd\
Ghost -nousb -clone,mode=pload,src=ylmf.gho:1,dst=1:1 -sure -rb
其实这个批处理是有缺陷的
其原理是在C~Z盘循环盘根目录存在ghost.exe时
认定其为光盘
然后切换到该盘根目录下
执行Ghost -nousb -clone,mode=pload,src=ylmf.gho:1,dst=1:1 -sure -rb
因为光盘盘符比较靠后
从C到Z盘循环
即使存在硬盘某个fat32分区下有ghost.exe
通过循环后
cd变量能最终识别到靠后的盘符上(光驱)上(前提是MSCDEX /D:MSCD000能正确识别光驱,貌似大部分IDE光驱都可以识别,SATA的用MSCDEX不知道能识别不)
你那批处理照人家抄的吧
原作者是把ghost.exe及gho文件存放于根目录\GHOST文件夹下
所以查找ghost.exe的时候用的if exist %%b:\GHOST\Ghost.exe
切换到ghost目录运行的
你改成放置在根目录
自然要改成我的那个写法
@echo off
MSCDEX /D:MSCD000
for %%b in (c d e f g h i j k l m n o p q r s t u v w x y z) do if exist %%b:\Ghost.exe set cd=%%b
%cd%:
cd\
Ghost -nousb -clone,mode=pload,src=ylmf.gho:1,dst=1:1 -sure -rb |
|