中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net  论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 这个批处理文件是怎么传输GHOST密码的?
« [1] [2] »
作者:
标题: 这个批处理文件是怎么传输GHOST密码的? 上一主题 | 下一主题
不得不爱
超级版主

我爱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
查看资料  发送邮件  发短消息 网志  OICQ (373343541)  编辑帖子  回复  引用回复
不得不爱
超级版主

我爱DOS


积分 5310
发帖 2044
注册 2005-9-26
来自 四川南充
状态 离线
『第 4 楼』:  

解釋一下恢复到C盘批处理文件的执行过程!



我的网络U盘 我的网络第2个U盘
论坛软件下载链接
灵雨飘零论坛  
论坛新手必读,所有人的基本行为准则
刷QQ空间人气、留言的小软件
2005-10-21 19:17
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
chujiafu
银牌会员





积分 1329
发帖 591
注册 2004-5-26
来自 安徽 宿州
状态 离线
『第 5 楼』:  

多看看几遍就能看懂了。

2005-10-21 21:40
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
DOSforever
金牌会员





积分 4639
发帖 2239
注册 2005-1-30
状态 离线
『第 6 楼』:  



  Quote:
Originally posted by Michael at 2005-10-20 18:58:
每一行都要解釋?





DOS倒下了,但永远不死
DOS NEVER DIES !

投票调查:
http://www.cn-dos.net/forum/viewthread.php?tid=46187

本人尚未解决的疑难问题:
http://www.cn-dos.net/forum/viewthread.php?tid=15135
http://www.cn-dos.net/forum/viewthread.php?tid=47663
http://www.cn-dos.net/forum/viewthread.php?tid=48747
2005-10-21 23:10
查看资料  发短消息 网志   编辑帖子  回复  引用回复
bush
银牌会员




积分 2165
发帖 730
注册 2004-4-21
状态 离线
『第 7 楼』:  不好意思反问一句

这个好像不能在dos下運行吧? 看不懂~

2005-10-22 20:40
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
不得不爱
超级版主

我爱DOS


积分 5310
发帖 2044
注册 2005-9-26
来自 四川南充
状态 离线
『第 8 楼』:  

当然是在dos下運行咯!



我的网络U盘 我的网络第2个U盘
论坛软件下载链接
灵雨飘零论坛  
论坛新手必读,所有人的基本行为准则
刷QQ空间人气、留言的小软件
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
来自 四川南充
状态 离线
『第 10 楼』:  

能解释下面一句吗?
GHOST -clone,mode=pload,src=%CDDRV%\PREINST.GHO:1,dst=1:1 -afile=%TEMP%\PREINST.ERR -fni -auto -sure -batch %GOPT%



我的网络U盘 我的网络第2个U盘
论坛软件下载链接
灵雨飘零论坛  
论坛新手必读,所有人的基本行为准则
刷QQ空间人气、留言的小软件
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
来自 四川南充
状态 离线
『第 12 楼』:  

quan_zhou:
你知道GHOST的所有批处理参数吗?



我的网络U盘 我的网络第2个U盘
论坛软件下载链接
灵雨飘零论坛  
论坛新手必读,所有人的基本行为准则
刷QQ空间人气、留言的小软件
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
来自 四川南充
状态 离线
『第 14 楼』:  

RE  本是:
你好,你解释得很好,我非常感谢你!也非常感谢关心我这个问题的人,只是我不明白的是GHOST -clone,mode=pload,src=%CDDRV%\PREINST.GHO:1,dst=1:1 -afile=%TEMP%\PREINST.ERR -fni -auto -sure -batch %GOPT%这个命令是怎么将PREINST.GHO文件的密码发送给GHOST的,所以我忘记给各位致谢,非常对不起你!



我的网络U盘 我的网络第2个U盘
论坛软件下载链接
灵雨飘零论坛  
论坛新手必读,所有人的基本行为准则
刷QQ空间人气、留言的小软件
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
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
« [1] [2] »
请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转: