|
不得不爱
超级版主
我爱DOS
积分 5310
发帖 2044
注册 2005-9-26 来自 四川南充
状态 离线
|
『楼 主』:
这个批处理文件是怎么传输GHOST密码的?
谁能帮我解释一下批处理文件的意思?
@ECHO OFF
SET ERRCODE=
PATH=%TEMP%\TOOLS;%TEMP%\DOS
:CHECKCD
REM Check CD-ROM Drive
REM 0:Ready 1:NotReady 2:NotCD-ROMdrive 3:IllegalDrive
CDCHECK T: > NUL
CDCHECK T: > NUL
IF ERRORLEVEL 2 GOTO NO_CDDRV
IF ERRORLEVEL 1 GOTO SET_CDROM
SET CDDRV=T:
GOTO CD_EXIST
:SET_CDROM
REM Insert CD-ROM
BMPVIEW %TEMP%\BMP\SETCDROM.BMP
PAUSE > NUL
:CHECKCD2
REM Check CD-ROM Drive
CDCHECK T: > NUL
CDCHECK T: > NUL
IF ERRORLEVEL 2 GOTO NO_CDDRV
IF ERRORLEVEL 1 GOTO NOCDROM
SET CDDRV=T:
GOTO CD_EXIST
:CD_EXIST
REM Check Recovery CD-ROM
IF NOT EXIST %CDDRV%\PREINST.GHO GOTO BAD_CDROM
IF NOT EXIST %CDDRV%\PREINST.CRC GOTO BAD_CDROM
IF NOT EXIST %CDDRV%\GHOST.EXE GOTO BAD_CDROM
IF NOT EXIST %TEMP%\TOOLS\GHOST.EXE COPY %CDDRV%\GHOST.EXE %TEMP%\TOOLS > NUL
IF EXIST %CDDRV%\SPAN.BMP COPY %CDDRV%\SPAN.BMP %TEMP%\TOOLS > NUL
IF EXIST %TEMP%\TOOLS\SPAN.BMP COPY %TEMP%\TOOLS\SPAN.BMP %TEMP%\ > NUL
COPY %CDDRV%\PREINST.CRC %TEMP%\PREINST.CD > NUL
FOR %%A IN (%CDDRV%\*.*) DO CALL FILECOPY.BAT %%A %TEMP%\
:RECOVERY
IF NOT EXIST %CDDRV%\PREDATA.BAT GOTO BAD_CDROM
IF (%COMPMODE%) == () CALL %CDDRV%\PREDATA.BAT
REM --- IF NOT EXIST %TEMP%\BMP\CHANGE.BMP GOTO SKIP
REM --- IF (%CDMAX%) == (1) GOTO SKIP
REM --- BMPVIEW %TEMP%\BMP\CHANGE.BMP
REM --- PAUSE > NUL
:SKIP
SET ERRCODE=.
IF (%PASSMODE%) == (YES) GOTO GHOSTPASS
IF (%COMPMODE%) == (PARTITION) GHOST -clone,mode=pload,src=%CDDRV%\PREINST.GHO:1,dst=1:1 -afile=%TEMP%\PREINST.ERR -fni -auto -sure -batch %GOPT%
IF (%COMPMODE%) == (DRIVE) GHOST -clone,mode=load,src=%CDDRV%\PREINST.GHO,dst=1,szeE -afile=%TEMP%\PREINST.ERR -fni -auto -sure -batch %GOPT%
IF ERRORLEVEL 1 GOTO REC_NG
GOTO GDONE
:GHOSTPASS
SET TGHOSTPS=%FILENAME%
IF (%COMPMODE%) == (PARTITION) TGHOST -clone,mode=pload,src=%CDDRV%\PREINST.GHO:1,dst=1:1 -afile=%TEMP%\PREINST.ERR -fni -auto -sure -batch %GOPT%
IF (%COMPMODE%) == (DRIVE) TGHOST -clone,mode=load,src=%CDDRV%\PREINST.GHO,dst=1,szeE -afile=%TEMP%\PREINST.ERR -fni -auto -sure -batch %GOPT%
IF ERRORLEVEL 1 GOTO REC_NG
:GDONE
LBA /C > NUL
GDISK 1 /MBR > NUL
SET ERRCODE=..
IF (%COMPMODE%) == (PARTITION) GHOST -CRC32,action=pcreate,src=1:1,crcfile=%TEMP%\PREINST.HDD -afile=%DRV1%\PREINST.ERR -sure -fni %GOPT%
IF (%COMPMODE%) == (DRIVE) GHOST -CRC32,action=create,src=1,crcfile=%TEMP%\PREINST.HDD -afile=%DRV1%\PREINST.ERR -sure -fni %GOPT%
IF ERRORLEVEL 1 GOTO REC_NG
SET ERRCODE=...
COMPFILE %TEMP%\PREINST.CD %TEMP%\PREINST.HDD > NUL
IF ERRORLEVEL 1 GOTO COMPERR
:NORMAL
IF EXIST CMOS.BAT CALL CMOS.BAT
REM Recovery success
SET ERRCODE=
BMPVIEW %TEMP%\BMP\THEEND.BMP
:LOOP
PAUSE > NUL
HWREBOOT
GOTO LOOP
REM ================= ERROR ===============================
:COMPERR
FC %TEMP%\PREINST.CD %TEMP%\PREINST.HDD > %TEMP%\COMP.LOG
GOTO REC_NG
:BAD_CDROM
REM Bad CD-ROM
BMPVIEW %TEMP%\BMP\BADCDROM.BMP /X=140 /Y=160
CLK
CHOICE > NUL
IF ERRORLEVEL 2 GOTO CDERREND
REM Push 'Y' button
BMPVIEW %TEMP%\BMP\Y1.BMP /XC /X=340 /Y=288
GOTO SET_CDROM
:NOCDROM
REM CD-ROM not found
BMPVIEW %TEMP%\BMP\NOCDROM.BMP /X=140 /Y=160
CLK
CHOICE > NUL
IF ERRORLEVEL 2 GOTO CDERREND
REM Push 'Y' button
BMPVIEW %TEMP%\BMP\Y1.BMP /XC /X=340 /Y=288
GOTO SET_CDROM
:NO_CDDRV
REM CD-ROM Drive not found
BMPVIEW %TEMP%\BMP\NO_CDDRV.BMP
PAUSE > NUL
GOTO END
:REC_NG
REM Recovery error
BMPVIEW %TEMP%\BMP\RECOVERR.BMP /X=96 /Y=168
ECHO %ERRCODE%
CLK
CHOICE /C:YNS> NUL
IF ERRORLEVEL 3 GOTO DEBUGEND
IF ERRORLEVEL 2 GOTO R_ERREND
REM Push 'Y' button
BMPVIEW %TEMP%\BMP\Y3.BMP /XC /X=392 /Y=272
REM Restart
BMPVIEW %TEMP%\BMP\REBOOT2.BMP
PAUSE > NUL
REM check boot devie
REM 0:FD 1:CD-ROM
CDCKBOOT > NUL
REM if errorlevel 1 then set boot priority "CD-ROM"=4
IF ERRORLEVEL 1 SETBOOT 4 >NUL
REM reboot
HWREBOOT
GOTO END
:R_ERREND
REM Push 'N' button
BMPVIEW %TEMP%\BMP\N1.BMP /XC /X=464 /Y=272
GOTO END
:CDERREND
REM Push 'N' button
BMPVIEW %TEMP%\BMP\N1.BMP /XC /X=412 /Y=288
GOTO END
:END
OFF
BMPVIEW %TEMP%\BMP\NO_PWOFF.BMP
PAUSE > NUL
GOTO END
:DEBUGEND
IF EXIST %TEMP%\PREINST.ERR FIND /I "Message:" %TEMP%\PREINST.ERR [ Last edited by qwe1234567 on 2006-6-7 at 08:22 ]
|
我的网络U盘 我的网络第2个U盘
论坛软件下载链接
灵雨飘零论坛
论坛新手必读,所有人的基本行为准则
刷QQ空间人气、留言的小软件 |
|
2005-10-20 13:45 |
|
|
Michael
钻石会员
积分 10046
发帖 3039
注册 2002-11-11
状态 离线
|
『第
2 楼』:
每一行都要解釋?
|
简单就是美 |
|
2005-10-20 18:58 |
|
|
JonePeng
金牌会员
D◎$ Fαп
积分 4562
发帖 1883
注册 2004-1-19 来自 广东广州
状态 离线
|
『第
3 楼』:
大概就是自动寻找光驱盘符,然后自动运行ghost读取镜像文件再恢复到C盘。
|
----====≡≡≡≡ 我的至爱,永远是MSDOS!≡≡≡≡====----
|
|
2005-10-20 22:36 |
|
|
不得不爱
超级版主
我爱DOS
积分 5310
发帖 2044
注册 2005-9-26 来自 四川南充
状态 离线
|
|
2005-10-21 19:17 |
|
|
chujiafu
银牌会员
积分 1329
发帖 591
注册 2004-5-26 来自 安徽 宿州
状态 离线
|
|
2005-10-21 21:40 |
|
|
DOSforever
金牌会员
积分 4639
发帖 2239
注册 2005-1-30
状态 离线
|
|
2005-10-21 23:10 |
|
|
bush
银牌会员
积分 2165
发帖 730
注册 2004-4-21
状态 离线
|
『第
7 楼』:
不好意思反问一句
这个好像不能在dos下運行吧? 看不懂~
|
|
2005-10-22 20:40 |
|
|
不得不爱
超级版主
我爱DOS
积分 5310
发帖 2044
注册 2005-9-26 来自 四川南充
状态 离线
|
|
2005-10-24 08:44 |
|
|
本是
银牌会员
积分 2201
发帖 789
注册 2005-1-27
状态 离线
|
『第
9 楼』:
详细注释!
这是预安装镜像文件的硬盘化安装批处理程序。详细注释见下面,注意:这不是能执行的.BAT!要运行,请用原来的.BAT。
@ECHO OFF
SET ERRCODE=
PATH=%TEMP%\TOOLS;%TEMP%\DOS
:CHECKCD
测光驱1
无光驱,跳转NO_CDDRV
未准备好,跳转SET_CDROM
SET CDDRV=T:
跳转 CD_EXIST
:SET_CDROM
插入光盘
显示图片SETCDROM.BMP
:CHECKCD2
测光驱2
无光驱,跳转NO_CDDRV
未准备好,跳转NOCDROM
SET CDDRV=T:
跳转 CD_EXIST
:CD_EXIST
测恢复光盘文件
无%CDDRV%\PREINST.GHO,跳转BAD_CDROM
无%CDDRV%\PREINST.CRC,跳转BAD_CDROM
无%CDDRV%\GHOST.EXE,跳转BAD_CDROM
无%TEMP%\TOOLS\GHOST.EXE,COPY %CDDRV%\GHOST.EXE %TEMP%\TOOLS > NUL
有%CDDRV%\SPAN.BMP,COPY %CDDRV%\SPAN.BMP %TEMP%\TOOLS > NUL
有%TEMP%\TOOLS\SPAN.BMP,COPY %TEMP%\TOOLS\SPAN.BMP %TEMP%\ > NUL
COPY %CDDRV%\PREINST.CRC %TEMP%\PREINST.CD > NUL
全部拷贝FOR %%A IN (%CDDRV%\*.*) DO CALL FILECOPY.BAT %%A %TEMP%\
:RECOVERY
无%CDDRV%\PREDATA.BAT,跳转BAD_CDROM
%COMPMODE%为空,CALL %CDDRV%\PREDATA.BAT
REM --- IF NOT EXIST %TEMP%\BMP\CHANGE.BMP GOTO SKIP
REM --- IF (%CDMAX%) == (1) GOTO SKIP
REM --- BMPVIEW %TEMP%\BMP\CHANGE.BMP
REM --- PAUSE > NUL
:SKIP
SET ERRCODE=.
(%PASSMODE%)为(YES)密码设置,跳转GHOSTPASS
(%COMPMODE%)为(PARTITION)分区拷,执行GHOST -clone,mode=pload,src=%CDDRV%\PREINST.GHO:1,dst=1:1 -afile=%TEMP%\PREINST.ERR -fni -auto -sure -batch %GOPT%
(%COMPMODE%)为(DRIVE)全盘拷,执行GHOST -clone,mode=load,src=%CDDRV%\PREINST.GHO,dst=1,szeE -afile=%TEMP%\PREINST.ERR -fni -auto -sure -batch %GOPT%
IF ERRORLEVEL 1,跳转REC_NG
跳转GDONE
:GHOSTPASS
SET TGHOSTPS=%FILENAME%
(%COMPMODE%)为(PARTITION),执行GHOST -clone,mode=pload,src=%CDDRV%\PREINST.GHO:1,dst=1:1 -afile=%TEMP%\PREINST.ERR -fni -auto -sure -batch %GOPT%
(%COMPMODE%)为(DRIVE),执行GHOST -clone,mode=load,src=%CDDRV%\PREINST.GHO,dst=1,szeE -afile=%TEMP%\PREINST.ERR -fni -auto -sure -batch %GOPT%
IF ERRORLEVEL 1,跳转REC_NG
:GDONE
LBA /C > NUL
GDISK 1 /MBR > NUL
SET ERRCODE=..
(%COMPMODE%)为(PARTITION),执行GHOST -CRC32,action=pcreate,src=1:1,crcfile=%TEMP%\PREINST.HDD -afile=%DRV1%\PREINST.ERR -sure -fni %GOPT%
(%COMPMODE%)为(DRIVE),执行GHOST -CRC32,action=create,src=1,crcfile=%TEMP%\PREINST.HDD -afile=%DRV1%\PREINST.ERR -sure -fni %GOPT%
IF ERRORLEVEL 1,跳转REC_NG
SET ERRCODE=...
COMPFILE %TEMP%\PREINST.CD %TEMP%\PREINST.HDD > NUL
IF ERRORLEVEL 1,跳转COMPERR
:NORMAL
有CMOS.BAT,执行CALL CMOS.BAT
REM 成功恢复
SET ERRCODE=
显示图片%TEMP%\BMP\THEEND.BMP
:LOOP
PAUSE > NUL
重启HWREBOOT
跳转LOOP
REM 出错
:COMPERR比较差异
FC %TEMP%\PREINST.CD %TEMP%\PREINST.HDD > %TEMP%\COMP.LOG
跳转REC_NG
:BAD_CDROM光驱无效
显示图片%TEMP%\BMP\BADCDROM.BMP /X=140 /Y=160
CLK
CHOICE > NUL
IF ERRORLEVEL 2 GOTO CDERREND
REM 选中Y
显示图片%TEMP%\BMP\Y1.BMP /XC /X=340 /Y=288
跳转SET_CDROM
:NOCDROM无光驱
显示图片%TEMP%\BMP\NOCDROM.BMP /X=140 /Y=160
CLK
CHOICE > NUL
IF ERRORLEVEL 2,跳转CDERREND
REM 选中Y
显示图片%TEMP%\BMP\Y1.BMP /XC /X=340 /Y=288
跳转SET_CDROM
:NO_CDDRV光驱未找到
显示图片%TEMP%\BMP\NO_CDDRV.BMP
PAUSE > NUL
跳转END
:REC_NG恢复出错
显示图片%TEMP%\BMP\RECOVERR.BMP /X=96 /Y=168
显示出错码ECHO %ERRCODE%
CLK
CHOICE /C:YNS> NUL
IF ERRORLEVEL 3,跳转DEBUGEND
IF ERRORLEVEL 2,跳转R_ERREND
REM 选中Y
显示图片%TEMP%\BMP\Y3.BMP /XC /X=392 /Y=272
显示图片%TEMP%\BMP\REBOOT2.BMP
PAUSE > NUL
REM 测启动设备
REM 0:FD 1:CD-ROM
CDCKBOOT > NUL
REM if errorlevel 1 then set boot priority "CD-ROM"=4
IF ERRORLEVEL 1设置SETBOOT 4 >NUL
重启HWREBOOT
跳转END
:R_ERREND
REM 选中Y
显示图片%TEMP%\BMP\N1.BMP /XC /X=464 /Y=272
跳转END
:CDERREND
REM 选中Y
显示图片%TEMP%\BMP\N1.BMP /XC /X=412 /Y=288
跳转END
:END
OFF
显示图片%TEMP%\BMP\NO_PWOFF.BMP
PAUSE > NUL
跳转END
:DEBUGEND
有%TEMP%\PREINST.ERR,执行FIND /I "Message:" %TEMP%\PREINST.ERR
|
my major is english----my love is dos----my teacher is the buddha----my friends--how about U |
|
2005-10-25 14:30 |
|
|
不得不爱
超级版主
我爱DOS
积分 5310
发帖 2044
注册 2005-9-26 来自 四川南充
状态 离线
|
|
2005-10-27 13:39 |
|
|
quan_zhou
初级用户
积分 190
发帖 40
注册 2005-3-17
状态 离线
|
『第
11 楼』:
大概是
将光盘的PREINST.GHO恢复到第一个硬盘第一个分区,若出错输记录文件到=%TEMP%\PREINST.ERR 。
|
|
2005-10-27 16:56 |
|
|
不得不爱
超级版主
我爱DOS
积分 5310
发帖 2044
注册 2005-9-26 来自 四川南充
状态 离线
|
|
2005-10-28 07:34 |
|
|
本是
银牌会员
积分 2201
发帖 789
注册 2005-1-27
状态 离线
|
『第
13 楼』:
Re qwe1234567:
我解释了那么长,你怎么这种态度?一句赞扬的话都没有!
别人给你回帖,你该先应答,再进一步提问呀。不要一副老大的派头!
你的帖我不想再跟了!
[ Last edited by 本是 on 2005-10-31 at 12:42 ]
|
my major is english----my love is dos----my teacher is the buddha----my friends--how about U |
|
2005-10-31 12:41 |
|
|
不得不爱
超级版主
我爱DOS
积分 5310
发帖 2044
注册 2005-9-26 来自 四川南充
状态 离线
|
|
2005-10-31 14:17 |
|
|
本是
银牌会员
积分 2201
发帖 789
注册 2005-1-27
状态 离线
|
『第
15 楼』:
Sorry! qwe1234567. 我也是半开玩笑的。玩笑就到此为止吧。言归正传--
因为GHOST命令行传递密码的手段是-pwd=xxx,所以GHOST -clone,mode=pload,src=%CDDRV%\PREINST.GHO:1,dst=1:1 -afile=%TEMP%\PREINST.ERR -fni -auto -sure -batch %GOPT%中唯有%GOPT%是可变项,此环境变量可能就传递了密码,再仔细看看.BAT文件的其它行,应该可以找出%GOPT%的实际值。
|
my major is english----my love is dos----my teacher is the buddha----my friends--how about U |
|
2005-10-31 15:14 |
|