无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站广告联系 微信:wuyouceo QQ:184822951
查看: 2837|回复: 3
打印 上一主题 下一主题

新手试写:简单的备份还原,请指教(下载地址已补上)

[复制链接]
跳转到指定楼层
1#
发表于 2012-3-3 21:03:19 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本人为真实菜鸟,折腾了一个多礼拜,终于初步完成了这个简单的备份、还原小程序。不需要安装,直接拷贝到C盘根目录下即可(要能进入纯DOS),然后运行menu.bat,或autoexec.bat里面调用即可。

程序代码基本都是本站帖子里面借鉴来的,同时也得到了几位高手的指点和帮助,重点感谢dos时代菜鸟和pznpt两位高手,帮我解决了两个最头疼的难题,特别是时代菜鸟老大的获取备份目标盘分区的代码,是我这个程序的核心,在此感谢!

发一下menu.bat的代码,忘各位高手指正:

@echo off
cls
tw /q >nul
tw /np >nul
::---------------------------------------------------
set BF_DIR=SYSBACK
set BF_NAME=OS_WINXP.GHO
echo.
wbat text 3,6 (+green on black)"正在分析硬盘分区数据,请等待...... !!!"
echo.
::---------------------获取备份的目标盘分区(即:第一个非激活、非隐藏分区),赋值给 BF_PAR ---------------------------------------------
omnifs info |awk '$0!~"Active" && $0!~"Hidden" && $0~"Volume"'|awk '{print $1;exit}'|nset BF_PAR=$1
::-------------以下部分为自动获取系统所在分区数据,SYS_HD 为系统硬盘,SYS_PAR 为系统分区号,SYSP 为合并后的系统分区编号(1:1)-----------------
::--omnifs info >hd_id.txt
::--awk -f sysdrv.awk  hd_id.txt|nset/p1,1 SYS_HD=$1
::--awk -f sysdrv.awk  hd_id.txt|nset/p3,1 SYS_PAR=$1
::--awk -f sysdrv.awk  hd_id.txt|nset SYSP=$1
::--------------------- set SYSP=1:1 只为显示使用,在本程序中没用

::-------------本程序中直接确定系统分区为1:1,所以不调用,直接赋值 SYS_HD=1、SYS_PAR=1。
set SYS_HD=1
set SYS_PAR=1

omnifs dir %BF_PAR%\%BF_DIR%\ >hd_gho.txt
awk '/%BF_NAME%/ {print $4}' hd_gho.txt|nset OMN_NAME=$1
awk '/%BF_NAME%/ {print $1}' hd_gho.txt|nset OMN_TIME=$1
::------ 以下为转换日期显示格式 --------------------------------------------------------
strings len=length %OMN_TIME%
if "%len%"=="7" set OMN_TIME=0%OMN_TIME%
strings yyyy=right %OMN_TIME%,2
set yyyy=20%yyyy%
strings mm=mid %OMN_TIME%,4,2
strings dd=left %OMN_TIME%,2
set OMN_TIME=%yyyy%年%mm%月%dd%日
::--------------------- 如果目标分区中找不到文件,文件名和日期变量会是空,后面判断时候就会出问题,因为不知道该怎么写,所以干脆在这里随便赋个值。
if "%OMN_NAME%"=="" set OMN_NAME=kong
:_sys_main
cls
call w.bat box @wbat.txt:main1
if "%?%"=="100" goto _dos
if "%?%"=="1" goto _restore
if "%?%"=="2" goto _backup
if "%?%"=="3" goto _dos
if "%?%"=="4" goto _end
:_backup
if %BF_NAME%==%OMN_NAME% goto _bk_if
cls
wbat box  "系统首次备份,文件路径:%BF_PAR%\%BF_DIR%\%BF_NAME%!!",确认执行,取消备份 #1
if errorlevel 100 goto _sys_main
if errorlevel 2 goto _sys_main
if errorlevel 1 goto _bf_start
:_bf_start
cls
wbat text 3,6 (+green on black)"正在创建备份目录和文件属性处理中,请等待......!!!"
omnifs mkdir %BF_PAR%\%BF_DIR%  >nul
::---感觉没必要设置隐藏,备份文件能看到更方便用户使用,隐藏有时候会误解。
::-- omnifs attrib +s +r +h %BF_PAR%\%BF_DIR% >nul
::-------------------------------------------------------------------------------------------------
cls
tw /q >nul
ghost -clone,mode=pdump,src=%SYS_HD%:%SYS_PAR%,dst=%BF_PAR%\%BF_DIR%\%BF_NAME% -z5 -sure -rb
:_bk_if
cls
wbat text 3,6 (+green on black)"--- 提示:备份文件保存路径为:%BF_PAR%\%BF_DIR%\%BF_NAME%,如有疑问请先检查 ---    "
wbat box  "备份文件已存在(日期:%OMN_TIME%),继续操作将覆盖原备份文件!!",确认执行,取消备份 #1
if errorlevel 100 goto _sys_main
if errorlevel 2 goto _sys_main
if errorlevel 1 goto _bf_start
:_restore
if not %BF_NAME%==%OMN_NAME% goto _re_if
cls
wbat text 3,6 (+green on black)"--- 注意:还原过程中切记不可断电、关机、强行终止,以免造成整个硬盘数据丢失!! ---    "
wbat box  "确定用(日期:%OMN_TIME%)的备份还原系统吗!!",确认执行,取消还原 #1
if errorlevel 100 goto _sys_main
if errorlevel 2 goto _sys_main
if errorlevel 1 goto _re_start
:_re_start
cls
tw /q >nul
ghost -clone,mode=pload,src=%BF_PAR%\%BF_DIR%\%BF_NAME%:1,dst=%SYS_HD%:%SYS_PAR% -sure -rb
:_re_if
cls
wbat box  "系统备份文件不存在,请检查(文件路径:%BF_PAR%\%BF_DIR%\%BF_NAME%)!",取消返回 #1
if errorlevel 100 goto _sys_main
if errorlevel 1 goto _sys_main
:_end
rest
:_dos
cls
echo       -----  进入MS-DOS v7.1,操作提示: -----
echo.
echo     NTDOS 加载 NTFS分区驱动;REST 重启系统;
echo     TW/Q 退出中文系统;MENU 重新运行备份还原菜单
echo.

--------------------------------------------- 分割线 -----------------------------------------------
补上程序包115网盘地址:http://115.com/file/anexdg9w

[ 本帖最后由 lhc0688 于 2012-3-5 07:47 编辑 ]
2#
 楼主| 发表于 2012-3-3 21:23:01 | 只看该作者
忘了说明:本程序是以 O.Y.M.2010 大大的 《omnifs +ghost 简单实用的一键》为蓝本改写的,谢谢oym老大的好贴,希望不要在意。
回复

使用道具 举报

3#
 楼主| 发表于 2012-3-3 21:24:22 | 只看该作者
附件发不上去,没办法。

[ 本帖最后由 lhc0688 于 2012-3-4 08:09 编辑 ]
回复

使用道具 举报

4#
发表于 2012-3-4 20:02:26 | 只看该作者
楼主还是发到115网盘吧,期待
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|捐助支持|无忧启动 ( 闽ICP备05002490号-1 )

闽公网安备 35020302032614号

GMT+8, 2024-4-20 08:46

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表