中国DOS联盟论坛

中国DOS联盟

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

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

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
作者:
标题: 谁能把这个批处理补充一下 上一主题 | 下一主题
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
状态 离线
『第 9 楼』:  

多谢楼上,我看不懂啊
那位大大可以帮我修改1楼的bat,添加上我说的完整功能啊

原始版本在这里
http://fe-ng.ys168.com/
一键恢复系统2

2007-3-12 07:33
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
lianjiang2004
金牌会员





积分 3946
发帖 1884
注册 2006-1-20
状态 离线
『第 10 楼』:  

别人弄的批处理,要想看明白,不是很容易的。加上本人水平有限,帮不上甚么忙。



Windows 一键还原
http://www.yjhy.com
2007-3-12 23:06
查看资料  发短消息 网志   编辑帖子  回复  引用回复
不得不爱
超级版主

我爱DOS


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

『楼 主』:  谁能把这个批处理补充一下

1 添加一个选择 分卷压缩 的选项 (默认不分卷)
在GHOST8.0以上的版本一般是可以不用做分卷压缩的,除非你的分区是FAT分区

2 添加一个选择 参数 -ia 的选项(默认不选择-ia)
(只添加到 分区备份 的里面)
这个何不用硬盘备份?



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

越看越复杂

2007-3-14 02:05
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复

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


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



论坛跳转: