|
本帖最后由 gxbcm 于 2024-2-29 11:45 编辑
@echo off
mode con cols=90 lines=26
:: 批处理获取管理员权限
:-------------------------
%1 mshta vbscript:createobject("shell.application").shellexecute("""%~0""","::",,"runas",1)(window.close)&&exit /b
pushd "%CD%"
CD /D "%~dp0"
:-------------------------
for %%a in (C D E F G H I J K L M ) do (
SET SNADIR=%%a:\SNAP\
IF exist %%a:\SNAP\ GOTO MENU
IF exist %%a: SET n1=%%a
)
SET DIRS=%n1%
SET /P DIRS= 请输入备份存放工作盘C--%DIRS%盘符 回车:
SET SNADIR=%DIRS%:\SNAP\
MD %SNADIR%
GOTO MENU
EXIT
:MENU
SET n=1
CLS
title SNAPSHOT 系统备份恢复
for /l %%i in (1,1,10) do (
IF NOT EXIST %SNADIR%SYSC%%i.SNA GOTO PASS
set /a n=%%i+1
)
:PASS
SET /A Bn=n
SET /A Hn=n-1
color 1f
echo.
echo. 备份目录%SNADIR%中存在的SNA映像文件
echo.==============================
dir %SNADIR%*.sna /b
echo.==============================
echo. SNAPSHOT 备份恢复系统
echo. ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
echo. [5] 一键自动备份系统
echo.
echo. [0] 一键自动恢复系统
echo.
echo. [2] 查看备份%SNADIR%目录
echo.
echo. [1] 手动选择备份恢复系统
echo.
echo. [E] 退出
echo. ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
set ST1=2
SET /P ST1= 请输入选项(默认:%ST1%)回车:
if /I "%ST1%"=="5" goto winbackup
if /I "%ST1%"=="0" goto winrecover
if /I "%ST1%"=="2" goto folderopen
if /I "%ST1%"=="1" goto SHOU
if /I "%ST1%"=="e" goto exit
exit
:SHOU
SNAPSHOT64.EXE -L0
GOTO MENU
EXIT
:winbackup
IF NOT EXIST %SNADIR%SYSC1.SNA GOTO BACKUP1
SET ST9=%Bn%
SET /P ST9= 按E键-返回主菜单 默认备份SYSC%ST9%.SNA (默认第%Bn%个备份 输入1-9数字) 回车:
if /I "%ST9%"=="e" goto MENU
if /I "%ST9%"=="1" goto BACKUP1
"Snapshot64.exe" C: %SNADIR%SYSC%ST9%.SNA -R -Gx -L0 -H%SNADIR%SYSC1.HSH -Y
PAUSE
GOTO MENU
exit
:BACKUP1
SET ST0=0
SET /P ST0= 按E键-返回主菜单 默认备份SYSC1.SNA 回车:
if /I "%ST0%"=="e" goto MENU
"Snapshot64.exe" C: %SNADIR%SYSC1.SNA -R -Gx -L0 -Y
pause
GOTO MENU
EXIT
:winrecover
IF NOT EXIST %SNADIR%SYSC1.SNA GOTO MENU
IF EXIST "X:\WINDOWS\" GOTO PEWIN
SET ST3=%Hn%
SET /P ST3= 按E键-返回主菜单 默认恢复SYSC%ST3%.SNA (默认第%Hn%个恢复 输入1-%ST3%数字) 回车:
if /I "%ST3%"=="e" goto MENU
snapshot64 --schedule c: %SNADIR%SYSC%ST3%.SNA --autoreboot:any
reg add "HKLM\SYSTEM\CurrentControlSet\Control\Snapshot" /f /v "AutoReboot" /t REG_DWORD /d 1
reg add "HKLM\SYSTEM\CurrentControlSet\Control\Snapshot" /f /v "AutoRebootSuccess" /t REG_DWORD /d 0
reg add "HKLM\SYSTEM\CurrentControlSet\Control\Snapshot" /f /v "Timeout" /t REG_DWORD /d 3
shutdown -r -t 0
GOTO MENU
EXIT
:PEWIN
IF NOT EXIST %SNADIR%SYSC1.SNA GOTO MENU
set ST4=%Hn%
SET /P ST4= 按E键-返回主菜单 默认恢复SYSC%ST4%.SNA (默认第%Hn%个恢复 输入1-%ST4%数字) 回车:
if /I "%ST4%"=="e" goto MENU
snapshot64 %SNADIR%SYSC%ST4%.sna c: -Y -Gx
shutdown -r -t 0
GOTO MENU
EXIT
:folderopen
DIR %SNADIR%
pause
GOTO MENU
exit
重新优化一下,这样大家就懂得只需要输入数字键,或默认数值,就行选择性备份或恢复了。
优化后,选择已有备份1,就重新进行覆盖式完整备份,选择已有备份2,就覆盖式差异备份。只要已经有备份,那么在选择对应的数字,就覆盖备份。这个有时还是很需要更新已有备份的。
优化后,有提示输入对应数字,这样大家就好理解了。好使用了。优化后的初始完整备份SYSC1.SNA ,SYSC1.HSH,这样不容易误操作,符合人们的数字观念,比较好使用。
举例:SYSC0.SNA 就是第1个备份
SYSC1.SNA 就是第2个备份 选择备份输入时容易输入2,这样的话实际备份就是SYSC1.SNA 而不是SYSC2.SNA,恢复时更容易选择错误。所以优化了。
优化后的举例:
SYSC1.SNA 就是第1个备份
SYSC2.SNA 就是第2个备份 选择备份或恢复 输入时数字是对应的,符合人们的数字恢复备份习惯。不容易误操作。
优化更新,就是把数字说明展示出来,并且完整备份设定为从SYSC1.SNA开始,后面的SYSC2.SNA,SYSC3.SNA .....都是差异备份。并且可以更新覆盖第一个备份,只要输入数字1,即可更新完整备份,输入已有的备份后面的数字,就可以覆盖更新对应的差异备份。如果不选择数字 用默认数字,一路回车,即可备份恢复,很完美了。
|
评分
-
查看全部评分
|