|
jiaju8
初级用户
 
积分 74
发帖 30
注册 2007-3-9
状态 离线
|
『楼 主』:
谁能把这个批处理补充一下
谁能把这个批处理补充一下
1 添加一个选择 分卷压缩 的选项 (默认不分卷)
2 添加一个选择 参数 -ia 的选项(默认不选择-ia)
(只添加到 分区备份 的里面)
-------------------------------------------------------------
原始版本在这里
http://fe-ng.ys168.com/
一键恢复系统2
=============================================
=============================================
@echo off
cls
set c=1
set d=1
set e=1
set f=2
set g=sys
set y=ghost -sure -rb -clone,mode
:a
call w w
goto %?%
:w "矮人工作室qwe1234567制作 "
[1分区备份]
[2分区恢复]
[3硬盘对拷]
声明:本人对使用本软件
导致的数据丢失不负责!
:1
call w t
if not %?%*==2* goto a
%y%=pdump,src=%c%:%d%,dst=%e%:%f%\%g%.gho -z1
echo 出错了!请检查硬盘!
goto a
:t "分区备份向导"
[取消] [确定]
第[$c,1]硬盘第[$d,1]分区
备份到
第[$e,1]硬盘第[$f,1]分区:\[$g,8 ].gho
警告!如继续操作将覆盖原有同名文件!!!请确认
:2
call w y
if not %?%*==2* goto a
%y%=pload,src=%e%:%f%\%g%.gho:1,dst=%c%:%d%
echo 出错了!请检查硬盘!
goto a
:y "分区恢复向导"
[取消] [确定]
第[$e,1]硬盘第[$f,1]分区:\[$g,8 ].gho
恢复到
第[$c,1]硬盘第[$d,1]分区
警告!如继续操作将覆盖目标分区原有文件!!!请确认
:3
call w r
if not %?%*==2* goto a
if %d%*==* goto b
%y%=pcopy,src=%c%:%d%,dst=%h%:%i%
echo 出错了!请检查硬盘!
goto a
:100
goto a
:b
%y%=copy,src=%c%,dst=%h%
echo 出错了!请检查硬盘!
goto a
:r "硬盘对拷向导"
第[$c,1]硬盘第[$d,1]分区
对拷到
第[$h,1]硬盘第[$i,1]分区
警告!一旦按"确定",将立即对拷,目标分区或硬盘将被覆盖!
[取消] [确定]
[ Last edited by jiaju8 on 2007-3-12 at 07:58 AM ]
|
|
2007-3-11 09:35 |
|
|
0451lym
高级用户
   
积分 760
发帖 357
注册 2005-10-10
状态 离线
|
『第
2 楼』:
-ia 全部映像。Ghost会对硬盘上所有的分区逐个进行备份。
有必要吗?双硬盘?
|
|
2007-3-11 09:59 |
|
|
jiaju8
初级用户
 
积分 74
发帖 30
注册 2007-3-9
状态 离线
|
『第
3 楼』:
Quote: | Originally posted by 0451lym at 2007-3-10 08:59 PM:
-ia 全部映像。Ghost会对硬盘上所有的分区逐个进行备份。
有必要吗?双硬盘? |
|
YES 呵呵
|
|
2007-3-11 10:04 |
|
|
0451lym
高级用户
   
积分 760
发帖 357
注册 2005-10-10
状态 离线
|
『第
4 楼』:
都用变量往里边套!
例如:
:BF
for %%x in (ls1 id LJ M FQ kj1 kj2 wbat CW ts) do SET %%x=>NUL
set ?=>nul
ECHO %RAMDRIVE%\GHOST.EXE -CLONE,MODE=PDUMP,SRC=%S1%:%S2%,DST=%D1%:%D2%:\%WJ%.LYM -Z%YS% -AUTO -FRO -FX -SURE %MM% %FJ1% %FJ%>%temp%\ls.bat
echo exit|command /k prompt ATTRIB +H +S +R %LS%\%WJ%.LYM $Gnul$_|find ">" >>%temp%\ls.bat
CALL QBL
CALL %temp%\ls.bat
|
|
2007-3-11 10:10 |
|
|
jiaju8
初级用户
 
积分 74
发帖 30
注册 2007-3-9
状态 离线
|
『第
5 楼』:
楼上这个0451的大哥
我是0452的,你的例子我更迷糊了。
有做好的吗?我是纯外行
|
|
2007-3-11 10:18 |
|
|
0451lym
高级用户
   
积分 760
发帖 357
注册 2005-10-10
状态 离线
|
『第
6 楼』:
还在修改中,现在是优化精简了.本来过完年就应该写好的,但是最近总是忙,这两天精神恍惚,静不下心来.给你发一个不完整的,看看你能用到不!
@ECHO OFF
GO %RAMDRIVE%\BAT
CALL RQ.BAT
set ZT=桌面
STRINGS ID=LINESIZE %temp%\HDD.INI
STRINGS ID=ADD %ID%,1
STRINGS LJ=READ %temp%\HDD.INI,%ID%
IF NOT "%LJ%"=="" STRINGS LJ=MID %LJ%,1,2
ECHO %LJ%|find.exe /i ":">NUL
if ERRORLEVEL 1 goto 00
DIRT %LJ%\~BF~1\ /Q /L:0>NUL
if not "%FPATH%"=="" DIRT %LJ%\~BF~1\%FQ%INI.BAT /Q /L:0>NUL
IF "%FPATH%"=="" DIRT %LJ%\%FQ%INI.BAT /Q /L:0>NUL
IF "%FPATH%"=="" MYSET FPath=%LJ%>NUL
set LJ=%FPATH%\%FQ%INI.BAT
IF "%FName%"=="%FQ%INI.BAT" CALL %LJ%
DIRT /CLEARENV>NUL
:00
SET PD=0>NUL
if "%KJ1%"=="" GOTO KJ1
:00A
if "%KJ2%"=="" GOTO KJ2
:00B
IF NOT "%ID%"=="" strings ID=sub %ID%,1
if "%ID%"=="0" SET ID=>NUL
set cw=1>NUL
IF "%S1%%S2%"=="%D1%%D2%" if NOT "%ID%"=="" GOTO KJ2
calc %KJ2%-%KJ1%*0.7|find "-"|if errorlevel 1 GOTO 00C
if NOT "%ID%"=="" GOTO KJ2
GOTO 01
:00C
SET cw=>NUL
:01
for %%X in (ID PD) do set %%X=>NUL
DIRT %LS%\~BF~1\ /Q /L:0 >NUL
IF NOT "%FPATH%"=="" set WJ=~BF~1\%mon%_%day%_%S1%%S2%>NUL
IF "%FPATH%"=="" set WJ=%mon%_%day%_%S1%%S2%>NUL
:02
DIRT /CLEARENV>NUL
IF "%S1%%S2%"=="%D1%%D2%" SET CW=5>NUL
if "%cw%"=="1" set TS=第%D1%硬盘→第%D2%分区剩余空间过小,请重新选择!>NUL
if "%cw%"=="2" SET TS=%WJ1%.LYM已存在,覆盖后将无法恢复!>NUL
if "%cw%"=="3" SET TS=%D1%.%D2%:\%LS1%,该路径不存在!>NUL
if "%cw%"=="4" SET TS=镜像名不合法,请遵循8.3格式!>NUL
if "%cw%"=="5" SET TS=所保存的路径正被备份!>NUL
if "%cw%"=="6" SET TS=压缩值不合法,请重新填写!>NUL
if "%cw%"=="7" SET TS=分卷值不合法,请重新填写!>NUL
if "%cw%"=="" SET TS=未见异常!
wbat cls (white on blue)
IF NOT "%FQ%" == "" CALL W.BAT fix BOX (+WHITE ON +BLUE) @BAT.INI:BF_0
IF "%FQ%" == "" call w.bat fix box (+white on +blue) @BAT.INI:GJBF_0
IF ERRORLEVEL 100 GOTO TC
:02A
ECHO %WJ%|find /i ".">NUL
if errorlevel 1 GOTO 02B
STRINGS ID=find %wj%,.
STRINGS ID=SUB %ID%,1
STRINGS WJ=LEFT %wj%,%ID%
:02B
if "%WBAT%" == "Q" goto 09
if "%WBAT%" == "T" goto 08
IF "%WBAT%"=="Z" GOTO 05
FOR %%X IN (TS LS1 ID) DO SET %%X=>NUL
IF "%WBAT%"=="X" GOTO 03
IF "%S1%%S2%"=="%D1%%D2%" GOTO 02
IF "%CW%"=="1" GOTO 02
IF "%Wj%"=="" GOTO 01
IF "%WBAT%"=="Y" GOTO 06
:03
ECHO :. " 分区符 类型 文件系统 容量 活动 隐藏 卷标 已用空间 剩余空间">%temp%\ls.txt
type %temp%\hdd.ini|find.exe /i ":"|find.exe /i /V "%S1%.%S2%:">>%temp%\ls.txt
IF NOT "%FQ%" == "" ECHO 确定%FQ%盘位置!>>%temp%\ls.txt
IF "%FQ%" == "" ECHO 选择备份目标!>>%temp%\ls.txt
wbat fill2,1(1,80)(+cyan on +black)""!text2,1" 镜像存放到那里? <Esc>--退出"
call w.bat fix list3,1(1,80)(+white on +black)@%temp%\ls.txt:.
IF ERRORLEVEL 100 GOTO 02
IF "%WBAT%"=="选择备份目标!" GOTO 04
IF "%WBAT%"=="确定%FQ%盘位置!" GOTO 04
:KJ2
IF NOT "%ID%"=="" STRINGS WBAT=READ %temp%\HDD.INI,%ID%
STRINGS D1=MID %WBAT%,6,1
STRINGS D2=MID %WBAT%,8,1
STRINGS LS=MID %WBAT%,1,2
STRINGS KJ2=MID %WBAT%,70,9
strings WBAT=parse %KJ2%,2
strings KJ2=parse %KJ2%,1
if "%WBAT%"=="GB" calc %KJ2%*1024>%temp%\LS.TXT
if "%WBAT%"=="GB" strings KJ2=read %temp%\LS.TXT,1
FOR %%X IN (%KJ2%) DO SET KJ2=%%X>NUL
MYSET WBAT=>NUL
GOTO 00B
:04
ECHO :. " 分区符 类型 文件系统 容量 活动 隐藏 卷标 已用空间 剩余空间">%temp%\ls.txt
type %temp%\hdd.ini|find.exe /i ":">>%temp%\ls.txt
IF NOT "%FQ%" == "" wbat fill2,1(1,80)(+cyan on +black)""!text2,1" 请慎重选择%FQ%盘位置! <Esc>--退出"
IF "%FQ%" == "" wbat fill2,1(1,80)(+cyan on +black)""!text2,1" 要备份那个分区? <Esc>--退出"
set wbar=+white on red
call w.bat fix list3,1(1,80)(+white on +black)@%temp%\ls.txt:.
set wbar=>nul
IF ERRORLEVEL 100 GOTO 02
STRINGS S1=MID %WBAT%,6,1
STRINGS S2=MID %WBAT%,8,1
:KJ1
if "%WBAT%"=="" TYPE %temp%\HDD.INI|find.exe /i "%S1%.%S2%:">%temp%\LS.TXT
if "%WBAT%"=="" strings WBAT=read %temp%\LS.TXT,1
STRINGS KJ1=MID %WBAT%,60,9
strings WBAT=parse %KJ1%,2
strings KJ1=parse %KJ1%,1
if "%WBAT%"=="GB" calc %KJ1%*1024>%temp%\LS.TXT
if "%WBAT%"=="GB" strings KJ1=read %temp%\LS.TXT,1
FOR %%X IN (%KJ1%) DO SET KJ1=%%X>NUL
MYSET WBAT=>NUL
if "%PD%"=="0" GOTO 00A
GOTO 00B
:05
IF NOT "%ZT%"=="桌面" GOTO 05A
set ZT=重启
GOTO 02
:05A
IF NOT "%ZT%"=="重启" GOTO 05B
set ZT=关机
GOTO 02
:05B
IF NOT "%ZT%"=="关机" GOTO 05
set ZT=桌面
GOTO 02
:06
if NOT "%LS2%"=="" SET LS1=%LS1%%LS2%
SET LS2=>NUL
STRINGS ID=find %wj%,\
if "%ID%"=="0" goto 06A
STRINGS ls2=LEFT %wj%,%ID%
STRINGS ID=ADD %ID%,1
STRINGS WJ=MID %WJ%,%ID%,30
GOTO 06
:06A
if not "%ls1%"=="" DIRT %LS%\%LS1% /Q /L:0 >NUL
if not "%DirtRet%"=="Fail" goto 06B
set cw=3>NUL
set wj=%LS1%%wj%
GOTO 02
:06B
DIRT /CLEARENV>NUL
STRINGS ID=LENGTH %WJ%
calc 8-%ID%|find "-"|if errorlevel 1 GOTO 06C
GOTO 06D
:06C
if "%wj%"=="" goto 06D
GOTO 06E
:06D
set cw=4>NUL
set wj=%LS1%%wj%
GOTO 02
:06E
set wj=%LS1%%wj%
IF not "%WJ1%"=="%D1%.%D2%:\%wj%" set cw=>NUL
set WJ1=%D1%.%D2%:\%wj%
if "%cw%"=="2" goto 07
DIRT %LS%\%WJ%.LYM /Q /L:0 >NUL
if "%DirtRet%"=="Success" set cw=2>NUL
DIRT /CLEARENV>NUL
if "%cw%"=="2" goto 02
:07
for %%x in (ls1 WJ1) do SET %%x=>NUL
ECHO SET S1=%S1%>%LJ%
ECHO SET S2=%S2%>>%LJ%
ECHO SET D1=%D1%>>%LJ%
ECHO SET D2=%D2%>>%LJ%
ECHO SET WJ=%WJ%.LYM>>%LJ%
FOR %%X IN (1 2 3 4 5 6 7 8 9) DO IF "%%X" == "%YS%" GOTO 07A
SET CW=6>NUL
GOTO 02
:07A
if "%MM%"=="" goto 07B
myset MM=-pwd=%mm%>NUL
:07B
if "%FJ%"=="0" myset FJ=>NUL
if "%FJ%"=="" goto BF
FOR %%X IN (0 1 2 3 4 5 6 7 8 9) DO IF "%FJ%"=="0%X" GOTO 07C1
FOR %%X IN (0 1 2 3 4 5 6 7 8 9) DO IF "%FJ%"=="00%%X" GOTO 07C1
FOR %%X IN (%FJ%) DO SET ?=%%X
IF NOT "%FJ%"=="%?%" GOTO 07C1
SET ID=0
:07C
STRINGS ID=ADD %ID%,1
if "%ID%"=="4" goto 07D
STRINGS ls1=MID %FJ%,%ID%,1
FOR %%X IN (0 1 2 3 4 5 6 7 8 9) DO IF "%%X" == "%ls1%" GOTO 07C
:07C1
SET CW=7>NUL
GOTO 02
:07D
myset FJ1=-span>NUL
myset FJ=-split=%fj%>NUL
:BF
for %%x in (ls1 id LJ M FQ kj1 kj2 wbat CW ts) do SET %%x=>NUL
set ?=>nul
ECHO %RAMDRIVE%\GHOST.EXE -CLONE,MODE=PDUMP,SRC=%S1%:%S2%,DST=%D1%:%D2%:\%WJ%.LYM -Z%YS% -AUTO -FRO -FX -SURE %MM% %FJ1% %FJ%>%temp%\ls.bat
echo exit|command /k prompt ATTRIB +H +S +R %LS%\%WJ%.LYM $Gnul$_|find ">" >>%temp%\ls.bat
CALL QBL
CALL %temp%\ls.bat
IF "%ZT%" == "关机" OFF.COM
IF "%ZT%" == "重启" RESET.COM
GOTO TC
:08
call w.bat FIX box (+white on +blue) @BAT.INI:GJBF_1
if errorlevel 100 goto 09
if "%WBAT%" == "Y" goto 08A
:08A
if NOT "%MM%"=="%MM1%" goto 08B
set M=有>NUL
set MM1=>NUL
goto 02
:08B
call w.bat box (+white on +blue) @BAT.INI:GJBF_2
goto 08
:09
set MM=>NUL
set MM1=>NUL
set M=无>NUL
goto 02
:TC
SET ZT=>NUL
if NOT "%S1%%S2%%D1%%D2%"=="" CALL QBL
if exist %temp%\ls.txt del %temp%\ls.txt
if exist %temp%\ls.bat del %temp%\ls.bat
|
|
2007-3-11 10:36 |
|
|
0451lym
高级用户
   
积分 760
发帖 357
注册 2005-10-10
状态 离线
|
『第
7 楼』:
:BF_0 " 我的镜像恢复系统 → 备份 %FQ% 盘!" [x]
[X 向导]
第 %S1%. 硬盘 → 第 %S2% 分区 (已用空间: %KJ1% MB)
备份到
第 %D1%. 硬盘 → 第 %D2% 分区 (剩余空间: %KJ2% MB)
填写镜像名 → %D1%.%D2%:\[$WJ,30,U, ].LYM [Z 状态]:%ZT%
哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪
~提示:%TS%~
[ Y →确定立即备份← ] [? Esc→返回系统桌面← ]
::
:GJBF_0 " 我的镜像恢复系统 → 高级备份!" [x]
[X 向导]
第 %S1%. 硬盘 → 第 %S2% 分区 (已用空间: %KJ1% MB)
备份到
第 %D1%. 硬盘 → 第 %D2% 分区 (剩余空间: %KJ2% MB)
填写镜像名 → %D1%.%D2%:\[$WJ,30,U, ].LYM [Z 状态]:%ZT%
哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪
压缩: [$YS,1] 级 (低压缩速度快1↓~~↑9高压缩速度慢)
分卷: [$FJ,3,U,] MB ("0"表示不分卷,CD刻录镜像建议为"600"MB)
[T 填写密码保护] 密码:(%M%) [Q 取消密码保护]
哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪
~提示:%TS%~
[ Y →确定立即备份← ] [? Esc→返回系统桌面← ]
::
:GJBF_1 " 填写密码保护"[x]
输入密码: [$MM,10,P! ]
确认密码: [$MM1,10,P! ]
提示: 1. Alt+F2 = 拼音输入.
Alt+F6 = 字符输入.
2. 最多允许输入10个字符.
3. ESC键 = 取消密码保护.
[Y 确定]
::
:GJBF_2 " 密码错误 !"[x]
密码两次输入不一致!
[确定]
|
|
2007-3-11 10:38 |
|
|
0451lym
高级用户
   
积分 760
发帖 357
注册 2005-10-10
状态 离线
|
『第
8 楼』:
STRINGS和GHOST11对于汉字识别有错误,因此建议考虑目录或者文件存在汉字的可能性!
|
|
2007-3-11 10:42 |
|
|
jiaju8
初级用户
 
积分 74
发帖 30
注册 2007-3-9
状态 离线
|
|
2007-3-12 07:33 |
|
|
lianjiang2004
金牌会员
     
积分 3946
发帖 1884
注册 2006-1-20
状态 离线
|
|
2007-3-12 23:06 |
|
|
不得不爱
超级版主
         我爱DOS
积分 5310
发帖 2044
注册 2005-9-26 来自 四川南充
状态 离线
|
|
2007-3-13 10:12 |
|
|
jiaju8
初级用户
 
积分 74
发帖 30
注册 2007-3-9
状态 离线
|
『第
12 楼』:
原作者来了,你好啊
我是在 矮人论坛看到的这个gvhost,后来找东西找到这个论坛,后来发现你是原作者,呵呵
我只想用扇区这样的备份,另外扇区备份就需要分卷了。
=================================
@echo off
cls
set c=1
set d=1
set e=1
set f=2
set h=0
set g=sys
set y=ghost -sure -rb -clone,mode
:a
call w w
goto %?%
:w "矮人工作室qwe1234567制作 "
[1分区备份]
[2分区恢复]
[3硬盘对拷]
声明:本人对使用本软件
导致的数据丢失不负责!
:1
call w t
if not %?%*==2* goto a
%y%=pdump,src=%c%:%d%,dst=%e%:%f%\%g%.gho -z1 -split=%h%
echo 出错了!请检查硬盘!
goto a
:t "分区备份向导"
[取消] [确定]
第[$c,1]硬盘第[$d,1]分区
备份到
第[$e,1]硬盘第[$f,1]分区:\[$g,8 ].gho
警告!如继续操作将覆盖原有同名文件!!!请确认
分卷: [$h,4] MB ("0"表示不分卷)
:2
call w y
if not %?%*==2* goto a
%y%=pload,src=%e%:%f%\%g%.gho:1,dst=%c%:%d%,-split=%h%
echo 出错了!请检查硬盘!
goto a
上面我就会添了个参数,在往后我就不会了。
-----------------------------------------
另外你看这个帖子
http://www.cn-dos.net/forum/viewthread.php?tid=28417
我把你的ghost加个img的后缀怎么运行不了了
[ Last edited by jiaju8 on 2007-3-12 at 09:31 PM ]
|
|
2007-3-13 10:27 |
|
|
andysky
初级用户
 
积分 50
发帖 21
注册 2007-3-13
状态 离线
|
|
2007-3-14 02:05 |
|
|