中国DOS联盟论坛

中国DOS联盟

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

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

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
作者:
标题: ghost的autoexec.bat的问题 上一主题 | 下一主题
zsx
初级用户





积分 87
发帖 32
注册 2007-11-21
状态 离线
『楼 主』:  ghost的autoexec.bat的问题

我想设计一个GHOST启动盘.GHOST.EXE在光盘.*.GHO可在任意盘.
AUTOEXEC.BAT
@ECHO OFF
IF %CONFIG%#==M4# GOTO END
SET SM=
XMSDSK 4096 /Y
ECHO Now setting up the RAM disk...
FINDRAMD>NUL
IF %RAMDRIVE%#==# GOTO NORAM
IF NOT EXIST %RAMDRIVE%\TEMP\NUL MD %RAMDRIVE%\TEMP
SET TMP=%RAMDRIVE%\TEMP
SET TEMP=%RAMDRIVE%\TEMP
IF NOT EXIST %RAMDRIVE%\SYSTEM\NUL MD %RAMDRIVE%\SYSTEM
COPY COMMAND.COM %RAMDRIVE%\SYSTEM>NUL
IF NOT EXIST %RAMDRIVE%\SYSTEM\COMMAND.COM ECHO Warning: Failed to copy files!
IF NOT EXIST %RAMDRIVE%\SYSTEM\COMMAND.COM GOTO COPYERR
SET COMSPEC=%RAMDRIVE%\SYSTEM\COMMAND.COM
:COPYERR
PATH=%RAMDRIVE%;%RAMDRIVE%\SYSTEM
IF %SM%#==Y# LH SMARTDRV 4096 2048 /X
GOTO NEXT
:NORAM
ECHO Warning: Can't create RAM disk!
IF %SM%#==Y# ECHO          Can't load SMARTDRV!
SET COMSPEC=A:\COMMAND.COM
:NEXT
SET SM=
SET PROMPT=$P$G
PATH=A:\;C:\;%CDROM%:\;..
LFNFOR ON
SET DIRCMD=/4
SET HDPMI=16384
LH KILLER
LH DOSKEY
LH CTMOUSE
LH doslfn /C- /Z:A:\CP936UNI.TBL
LH HDPMI32
LH NTFSPRO
LH MOUSCLIP /M
LH SHSUCDX /D:IDE-CD /D:SATA-CD /Q /~+
LH FINDCD /S
IF %CONFIG%#==M1# GOTO GHOST
IF NOT %CONFIG%#==M1# GOTO END1
:GHOST
CALL FINDCDR "GHOST.EXE" C D E F G H I J K L M N O P Q R S T U V W X Y Z
IF EXIST D:\*.gho REN D:\*.gho xp.gho
IF EXIST D:\xp.gho %CDROM%:\Ghost -clone,mode=pload,src=D:\xp.gho:1,dst=1:1 -sure -fx
IF EXIST D:\xp.gho GOTO END
IF EXIST E:\*.gho REN E:\*.gho xp.gho
IF EXIST E:\xp.gho %CDROM%:\Ghost -clone,mode=pload,src=E:\xp.gho:1,dst=1:1 -sure -fx
IF EXIST E:\xp.gho GOTO END
IF EXIST F:\*.gho REN F:\*.gho xp.gho
IF EXIST F:\xp.gho %CDROM%:\Ghost -clone,mode=pload,src=F:\xp.gho:1,dst=1:1 -sure -fx
IF EXIST F:\xp.gho GOTO END
IF EXIST G:\*.gho REN G:\*.gho xp.gho
IF EXIST G:\xp.gho %CDROM%:\Ghost -clone,mode=pload,src=G:\xp.gho:1,dst=1:1 -sure -fx
IF EXIST G:\xp.gho GOTO END
IF EXIST H:\*.gho REN H:\*.gho xp.gho
IF EXIST H:\xp.gho %CDROM%:\Ghost -clone,mode=pload,src=H:\xp.gho:1,dst=1:1 -sure -fx
IF EXIST H:\xp.gho GOTO END
IF EXIST I:\*.gho REN I:\*.gho xp.gho
IF EXIST I:\xp.gho %CDROM%:\Ghost -clone,mode=pload,src=I:\xp.gho:1,dst=1:1 -sure -fx
IF EXIST I:\xp.gho GOTO END
IF EXIST J:\*.gho REN J:\*.gho xp.gho
IF EXIST J:\xp.gho %CDROM%:\Ghost -clone,mode=pload,src=J:\xp.gho:1,dst=1:1 -sure -fx
IF EXIST J:\xp.gho GOTO END
IF EXIST K:\*.gho REN K:\*.gho xp.gho
IF EXIST K:\xp.gho %CDROM%:\Ghost -clone,mode=pload,src=K:\xp.gho:1,dst=1:1 -sure -fx
IF EXIST K:\xp.gho GOTO END
IF EXIST L:\*.gho REN L:\*.gho xp.gho
IF EXIST L:\xp.gho %CDROM%:\Ghost -clone,mode=pload,src=L:\xp.gho:1,dst=1:1 -sure -fx
IF EXIST L:\xp.gho GOTO END
IF EXIST M:\*.gho REN M:\*.gho xp.gho
IF EXIST M:\xp.gho %CDROM%:\Ghost -clone,mode=pload,src=M:\xp.gho:1,dst=1:1 -sure -fx
GOTO END
:END1
call h.bat
:END
A:
其中findcdr.BAT
@echo off
set file=%1
:FCDR
if "%CDROM1%"=="%2:" goto SCDR
shift
goto FCDR
:SCDR
cda %2:>nul
IF errorlevel 1 goto next
if not exist %2:\%FILE% goto next
set cdrom=%2
goto end
:next
if "%2"=="Z" goto end
shift
goto SCDR
:end
测试结果可用.不知AUTOEXEC.BAT中
IF EXIST D:\*.gho REN D:\*.gho xp.gho
IF EXIST D:\xp.gho %CDROM%:\Ghost -clone,mode=pload,src=D:\xp.gho:1,dst=1:1 -sure -fx
IF EXIST D:\xp.gho GOTO END
IF EXIST E:\*.gho REN E:\*.gho xp.gho
IF EXIST E:\xp.gho %CDROM%:\Ghost -clone,mode=pload,src=E:\xp.gho:1,dst=1:1 -sure -fx
IF EXIST E:\xp.gho GOTO END
IF EXIST F:\*.gho REN F:\*.gho xp.gho
IF EXIST F:\xp.gho %CDROM%:\Ghost -clone,mode=pload,src=F:\xp.gho:1,dst=1:1 -sure -fx
IF EXIST F:\xp.gho GOTO END
IF EXIST G:\*.gho REN G:\*.gho xp.gho
IF EXIST G:\xp.gho %CDROM%:\Ghost -clone,mode=pload,src=G:\xp.gho:1,dst=1:1 -sure -fx
IF EXIST G:\xp.gho GOTO END
IF EXIST H:\*.gho REN H:\*.gho xp.gho
IF EXIST H:\xp.gho %CDROM%:\Ghost -clone,mode=pload,src=H:\xp.gho:1,dst=1:1 -sure -fx
IF EXIST H:\xp.gho GOTO END
IF EXIST I:\*.gho REN I:\*.gho xp.gho
IF EXIST I:\xp.gho %CDROM%:\Ghost -clone,mode=pload,src=I:\xp.gho:1,dst=1:1 -sure -fx
IF EXIST I:\xp.gho GOTO END
IF EXIST J:\*.gho REN J:\*.gho xp.gho
IF EXIST J:\xp.gho %CDROM%:\Ghost -clone,mode=pload,src=J:\xp.gho:1,dst=1:1 -sure -fx
IF EXIST J:\xp.gho GOTO END
IF EXIST K:\*.gho REN K:\*.gho xp.gho
IF EXIST K:\xp.gho %CDROM%:\Ghost -clone,mode=pload,src=K:\xp.gho:1,dst=1:1 -sure -fx
IF EXIST K:\xp.gho GOTO END
IF EXIST L:\*.gho REN L:\*.gho xp.gho
IF EXIST L:\xp.gho %CDROM%:\Ghost -clone,mode=pload,src=L:\xp.gho:1,dst=1:1 -sure -fx
IF EXIST L:\xp.gho GOTO END
IF EXIST M:\*.gho REN M:\*.gho xp.gho
IF EXIST M:\xp.gho %CDROM%:\Ghost -clone,mode=pload,src=M:\xp.gho:1,dst=1:1 -sure -fx
部分是否可减化.请指教.
此部分意思是在D到M盘寻找*.GHO文件.并改名为XP.GHO(因为GHOST不支持*
符号).然后用GHOST恢复
若D到M盘能寻找到*.GHO文件.并给该盘附以%DRIVE%.用GHOST恢复
时可表达为%CDROM%:\GHOST -CLONE,MODE=PLOAD,SRC=%DRIVE%:\XP.GHO:1,DST=1:1 -SURE -FX

[ Last edited by zsx on 2008-2-27 at 09:39 AM ]

2008-2-26 23:32
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
luckysheep
新手上路

邪恶十八进制


积分 15
发帖 12
注册 2007-1-12
状态 离线
『第 2 楼』:  

改名是个好想法,我就是一直苦与GHOST不支持*符号,脚本不能智能化恢复任意gho文件。
用楼主的想法,我这么写不知道行不,没测试!
for %%i 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 %%i:\sheep\*.gho (
cd /d %%i:\sheep
REN *.gho sheep.gho
ghost -nousb -clone,mode=pload,src=sheep.gho:1,dst=1:1 -crcignore -sure -rb
)
)
以上代码就是我准备用的

2008-3-26 13:30
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复

请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


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



论坛跳转: