|
jinlizhpc
初级用户
积分 165
发帖 74
注册 2007-1-8
状态 离线
|
『楼 主』:
系统恢复光盘自动批处理公开代码
本人做了一个GHOST系统恢复光盘,autoexec.bat批处理文件如下:
@echo off
set LglDrv=27 * 26 Z 25 Y 24 X 23 W 22 V 21 U 20 T 19 S 18 R 17 Q 16 P 15
set LglDrv=%LglDrv% O 14 N 13 M 12 L 11 K 10 J 9 I 8 H 7 G 6 F 5 E 4 D 3 C
cls
path=a:\;z:\
mscdex /d:mscd001 /l:z
if exist d:\sysbak\xp.gho
ghost.exe -clone,mode=pload,src=d:\sysbak\sxp.gho:1,dst=1:1 -sure
echo ===================OK===================
echo.
echo.
echo.
IF NOT EXIST d:\sysbak\XP.gho
echo 对不起,恢复文件不存在
问题:XP.GHO文件不存在依然运行GHOST.EXE,不单独显示"对不起,恢复文件不存在" 错在那里?请指教系统恢复光盘自动批处理公开代码
[ Last edited by jinlizhpc on 2007-6-18 at 01:09 PM ]
|
|
2007-6-15 15:28 |
|
|
wudixin96
银牌会员
积分 1928
发帖 931
注册 2007-1-6
状态 离线
|
『第
2 楼』:
@echo off
set LglDrv=27 * 26 Z 25 Y 24 X 23 W 22 V 21 U 20 T 19 S 18 R 17 Q 16 P 15
set LglDrv=%LglDrv% O 14 N 13 M 12 L 11 K 10 J 9 I 8 H 7 G 6 F 5 E 4 D 3 C
cls
path=a:\;z:\
mscdex /d:mscd001 /l:z
if exist d:\sysbak\xp.gho (
ghost.exe -clone,mode=pload,src=d:\sysbak\sxp.gho:1,dst=1:1 -sure
echo ===================OK===================
echo.
echo.
echo.
) else (
echo 对不起,恢复文件不存在) ELSE 子句必须在 IF 之后出现在同一行上。例如:
IF EXIST filename. (
del filename.
) ELSE (
echo filename. missing.
)
因为 del 命令需要用一个新行终止,以下子句不会有效:
IF EXIST filename. del filename. ELSE echo filename. missing
由于 ELSE 命令必须与 IF 命令的尾端在同一行上,以下子句也
不会有效:
IF EXIST filename. del filename.
ELSE echo filename. missing
如果都放在同一行上,以下子句有效:
IF EXIST filename. (del filename.) ELSE echo filename. missing
|
|
2007-6-15 15:42 |
|
|
jinlizhpc
初级用户
积分 165
发帖 74
注册 2007-1-8
状态 离线
|
|
2007-6-15 15:46 |
|
|
wudixin96
银牌会员
积分 1928
发帖 931
注册 2007-1-6
状态 离线
|
|
2007-6-15 15:53 |
|
|
jinlizhpc
初级用户
积分 165
发帖 74
注册 2007-1-8
状态 离线
|
『第
5 楼』:
不行,XP.GHO文件不存在依然运行GHOST.EXE,不单独显示"对不起,恢复文件不存在"
|
|
2007-6-15 16:28 |
|
|
wudixin96
银牌会员
积分 1928
发帖 931
注册 2007-1-6
状态 离线
|
『第
6 楼』:
那直接测试
if exist d:\sysbak\xp.gho (
echo 文件存在
) else (
echo 对不起,文件不存在
) 的结果是怎么样的?
|
|
2007-6-15 16:35 |
|
|
jinlizhpc
初级用户
积分 165
发帖 74
注册 2007-1-8
状态 离线
|
『第
7 楼』:
再写一个也不行,唉.........晕
@ECHO OFF
IF "%config%"=="QUICK" GOTO QUICK
set LglDrv=27 * 26 Z 25 Y 24 X 23 W 22 V 21 U 20 T 19 S 18 R 17 Q 16 P 15
set LglDrv=%LglDrv% O 14 N 13 M 12 L 11 K 10 J 9 I 8 H 7 G 6 F 5 E 4 D 3 C
cls
path=a:\;%CDROM%:\
mscdex /d:mscd001 /l:%CDROM%
:ghost
IF EXIST d:\sysbak\zhpc.pan GOTO EXT
:EXT
ren d:\sysbak\zhpc.pan sysbak.gho
ghost.exe -clone,mode=pload,src=d:\sysbak\sysbak.gho:1,dst=1:1 -sure
ren d:\sysbak\sysbak.gho zhpc.pan
tw/np
cls
echo.
echo OK! 系统恢复成功
echo.
IF "%config%"=="NOCD" GOTO QUIT
IF ERRORLEVEL 1 SET CDPROB=1
GOTO QUIT
:QUIT
echo 没有恢复文件
set CDPROB=
set CDROM=
set LglDrv=
GOTO QUICK
:QUICK
|
|
2007-6-15 16:48 |
|
|
jinlizhpc
初级用户
积分 165
发帖 74
注册 2007-1-8
状态 离线
|
|
2007-6-15 17:22 |
|
|
jinlizhpc
初级用户
积分 165
发帖 74
注册 2007-1-8
状态 离线
|
『第
9 楼』:
没有人可以解决问题吗?
没有人可以解决问题吗?
|
|
2007-6-16 10:46 |
|
|
sfencer
新手上路
积分 16
发帖 8
注册 2007-6-4
状态 离线
|
|
2007-6-16 11:03 |
|
|
zh159
金牌会员
积分 3687
发帖 1467
注册 2005-8-8
状态 离线
|
『第
11 楼』:
思路混乱
Quote: | :ghost
IF EXIST d:\sysbak\zhpc.pan GOTO EXT这里d:\sysbak\zhpc.pan存不存在都会接着执行EXT部分
:EXT
ren d:\sysbak\zhpc.pan sysbak.gho
ghost.exe -clone,mode=pload,src=d:\sysbak\sysbak.gho:1,dst=1:1 -sure
ren d:\sysbak\sysbak.gho zhpc.pan
tw/np
cls
echo.
echo OK! 系统恢复成功
echo.
IF "%config%"=="NOCD" GOTO QUIT
IF ERRORLEVEL 1 SET CDPROB=1
GOTO QUIT
上边的执行完了,每个跳转都跳到这里,变成“OK! 系统恢复成功”、“没有恢复文件”都会显示
:QUIT
echo 没有恢复文件
set CDPROB=
set CDROM=
set LglDrv=
GOTO QUICK
:QUICK |
|
按你的思路估计是改成:
Quote: | :ghost
IF not EXIST d:\sysbak\zhpc.pan GOTO QUICK
ren d:\sysbak\zhpc.pan sysbak.gho
ghost.exe -clone,mode=pload,src=d:\sysbak\sysbak.gho:1,dst=1:1 -sure
ren d:\sysbak\sysbak.gho zhpc.pan
tw/np
cls
echo.
echo OK! 系统恢复成功
echo.
IF "%config%"=="NOCD" GOTO QUICK
IF ERRORLEVEL 1 SET CDPROB=1
GOTO QUICK
:QUIT
echo 没有恢复文件
set CDPROB=
set CDROM=
set LglDrv=
:QUICK |
|
|
|
|
2007-6-16 11:56 |
|
|
jinlizhpc
初级用户
积分 165
发帖 74
注册 2007-1-8
状态 离线
|
『第
12 楼』:
系统恢复光盘自动批处理改编成功!并且验证通过,现在公开代码给大家分享
AUTOEXEC.BAT
@ECHO OFF
SET DIRCMD=/O:N
cls
mscdex /d:mscd001 /l:z
path=a:\;z:\
tw /np /nm /nw >nul
cls
:ERROR
IF EXIST d:\sysbak\zhpc.pan GOTO EXT
echo.
echo.
echo.
echo.
echo 抱歉:不能恢复系统
echo.
echo 原因:你不是授权用户/或者系统恢复文件被破坏
echo.
echo.
echo.
GOTO QUIT
:EXT
tw /q
cls
ren d:\sysbak\zhpc.pan sysbak.gho
ghost.exe -clone,mode=pload,src=d:\sysbak\sysbak.gho:1,dst=1:1 -sure
ren d:\sysbak\sysbak.gho zhpc.pan
tw/np
cls
echo.
echo.
echo.
echo.
echo.
echo.
echo.
echo.
echo OK! 系统恢复成功,请取走光盘! 同时按下Ctr+Alt+Del键重新启动电脑。
echo.
echo.
echo 如有疑问,请技术交流 QQ:627216048
echo.
echo.
echo ===================2007-&-2008===================
echo.
echo.
echo.
Ej.exe
:QUIT
[ Last edited by jinlizhpc on 2007-6-18 at 01:07 PM ]
|
|
2007-6-18 11:33 |
|
|
sgzhou6688
中级用户
积分 231
发帖 110
注册 2008-3-24 来自 中国大陆
状态 离线
|
『第
13 楼』:
感谢,顶一下》》》》》》》》》》》》》》》》
|
|
2010-5-18 13:10 |
|
|
sgzhou6688
中级用户
积分 231
发帖 110
注册 2008-3-24 来自 中国大陆
状态 离线
|
『第
14 楼』:
但是,有些问题,如何是像F11或者F10那样能
调用相关的程序》》》》》》》》》》》》》》
|
|
2010-5-22 17:50 |
|