无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站投放广告、加入VIP会员,请联系 微信:wuyouceo
查看: 3585|回复: 35
打印 上一主题 下一主题

ESDSNA 一键自动备份恢复

  [复制链接]
跳转到指定楼层
1#
发表于 2024-6-1 18:13:05 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 gxbcm 于 2024-6-5 18:01 编辑

@echo off
%1 mshta vbscript:createobject("shell.application").shellexecute("""%~0""","::",,"runas",1)(window.close)&&exit /b
    pushd "%CD%"
    CD /D "%~dp0"
mode con cols=90 lines=90
SET BPFB=C:
SET BPFH=C:
SET DIRS=C:
SET ES=C:
SET BPFE=C:
SET  WE=ESD
SET EWS=ESD
SET NM=OKK
SET BOO=关闭
SET UP=关闭Y:
SET AA1=1
SET  KK=OFF1
SET  XX1=1
SET n=1
SET YS=--compress=LZX:20
SET KK2=切换ESD-WIM界面
for %%a in (C D E F G H I J K L M N O P Q R S T U V W X Y Z ) do (
SET SNADIR=%%a:\SNAP\
SET DIRSD=%%a:
SET DIRSDWJ=%%a:
SET WZ=%SNADIR%SYSC%XX1%.%WE%
SET WZ1=%SNADIR%SYSC%XX1%.%WE%
IF exist %%a:\SNAP\ GOTO MENU2
IF exist %%a: SET  n1=%%a
)

SET DIRS=%n1%
SET /P DIRS=         请输入备份存放工作盘(C-%DIRS%)字母回车:
SET SNADIR=%DIRS%:\SNAP\
MD %SNADIR%
GOTO MENU2
EXIT

:MENU2
IF NOT EXIST  %SNADIR%CONFIG.TXT ECHO.ESD>%SNADIR%CONFIG.TXT
SET /P EWS=<%SNADIR%CONFIG.TXT
IF %EWS% equ ESD  SET WE=%EWS%
IF %EWS% equ WIM  SET WE=%EWS%
IF %EWS% equ SNA  SET WE=%EWS%

:MENU
SET Bn=0
SET Hn=0
IF NOT EXIST  %SNADIR%00.DPT (
BOOTICE /DEVICE=0 /PARTITIONS /BACKUP_DPT=00.DPT /QUIET
COPY 00.DPT %SNADIR% /Y
)
CLS

IF "%KK%"=="OFF1" (
SET KK1=关闭
SET KK=OFF1
) ELSE (
SET KK1=开启
SET KK=--wimboot
)

IF EXIST %PF%%LJ%%WJ%.ESD @wimlib-imagex.exe info %PF%%LJ%%WJ%.ESD>EWJ.txt
IF EXIST %PF%%LJ%%WJ%.ESD @findstr "Image Count:" EWJ.TXT >EWJ1.TXT & SET /P WEAA=<./EWJ1.TXT
IF EXIST %PF%%LJ%%WJ%.WIM @wimlib-imagex.exe info %PF%%LJ%%WJ%.WIM>WWJ.txt
IF EXIST %PF%%LJ%%WJ%.WIM @findstr "Image Count:" WWJ.TXT >WWJ1.TXT & SET /P WWAA=<./WWJ1.TXT
IF %errorlevel%==1  CLS & GOTO PASS
IF %WE% equ ESD (
SET /A  WAA1=%WEAA:~16,1%
SET WCK=EWJ.txt
SET WWZ1=%PF%%LJ1%%WJ%%KZ%
SET WWZ=%PF%%LJ%%WJ%%KZ%
) ELSE (
SET /A  WAA1=%WWAA:~16,1%
SET WCK=WWJ.txt
SET WWZ1=%PF%%LJ1%%WJ%%KZ%
SET WWZ=%PF%%LJ%%WJ%%KZ%
)

IF EXIST %SNADIR%SYSC%XX1%.ESD @wimlib-imagex.exe info %SNADIR%SYSC%XX1%.ESD>ESD%XX1%.txt
IF EXIST %SNADIR%SYSC%XX1%.ESD @findstr "Image Count:" ESD%XX1%.TXT >ESD1%XX1%.TXT & SET /P EAA=<./ESD1%XX1%.TXT
IF EXIST %SNADIR%SYSC%XX1%.WIM @wimlib-imagex.exe info %SNADIR%SYSC%XX1%.WIM>WIM%XX1%.txt
IF EXIST %SNADIR%SYSC%XX1%.WIM @findstr "Image Count:" WIM%XX1%.TXT >WIM1%XX1%.TXT & SET /P WAA=<./WIM1%XX1%.TXT
IF %errorlevel%==1  CLS & GOTO PASS
IF %WE% equ ESD (
SET /A  EAA1=%EAA:~16,1%
SET ECK=ESD%XX1%.TXT
SET  WEZ=%SNADIR%SYSC%XX1%.%WE%
SET  WEZ1=%SNADIR%SYSC%XX1%.%WE%
) ELSE (
SET /A  EAA1=%WAA:~16,1%
SET ECK=WIM%XX1%.TXT
SET  WEZ=%SNADIR%SYSC%XX1%.%WE%
SET  WEZ1=%SNADIR%SYSC%XX1%.%WE%
)  

IF %WE% equ SNA (
for /l %%i in (1,1,10) do (
SET  WZ1=%SNADIR%SYSC%%i.%WE%
SET  WZ=%SNADIR%SYSC%%i.%WE%
IF NOT EXIST %SNADIR%SYSC%%i.SNA  SET /A SBn=n & SET /A SHn=n-1 &  GOTO PASNA
set /a n=%%i+1
)
:PASNA
SET Hn=%SHn%
SET Bn=%SBn%
SET WZ1=%SNADIR%SYSC%Bn%.SNA
SET WZ=%SNADIR%SYSC%Bn%.SNA
GOTO MESSS
)


:PASS
IF %NM% equ OFFN (
for /l %%i in (1,1,%WAA1%) do set /a WAA2=%%i
SET /A Bn=WAA2+1
SET /A Hn=WAA2
SET WZ1=%WWZ1%
SET WZ=%WWZ%
SET CK=%WCK%
GOTO MESSS
)

for /l %%i in (1,1,%EAA1%) do set /a EAA2=%%i
IF NOT EXIST %SNADIR%SYSC%XX1%.%WE% (
SET /A Bn=0
SET /A Hn=0
SET  WZ=%WEZ%
SET  WZ1=%WEZ1%
) ELSE (
SET /A Bn=EAA2+1
SET /A Hn=EAA2
SET  WZ=%WEZ%
SET  WZ1=%WEZ1%
SET  CK=%ECK%
)
GOTO MESSS
)

:MESSS
color 1f
echo.                           ESDSNA一键自动备份恢复系统--%WE%文件
echo. ━━  默认设置 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━   
echo.              [L]挂载ESP %ES%盘  [W]关联ESP-系统%BPFE%盘  [F]修复ESP引导  [N]隐藏ESP分区
echo.              [B]默认备份%BPFB%盘  [P]参数Wimboot%KK1%   [O]分区表       [X]选择文件SYSC%XX1%.%WE%
echo.              [H]默认恢复%BPFH%盘  [T]参数Boot%BOO%      [U]%UP%虚拟盘 [G]默认格式:%WE%
echo.              [R]查看镜像信息  [Y]压缩模式:%YS%           
echo. --- 存储信息 ---------------------------------------------------------------------------
echo.              [C]默认搜索%DIRSDWJ%盘  [S]搜索镜像%WE%文件  [K]重建镜像
echo.              备份存储目录%WZ1%
echo.              映像文件中有%Hn%个备份
echo.                             默认:备份第%Bn%个备份 恢复第%Hn%个备份
echo. --- 备份恢复 ---------------------------------------------------------------------------
echo.                               [5] 一键自动备份系统 [BF]
echo.                    
echo.                               [0] 一键自动恢复系统 [HF]
echo.
echo.                               [8] 删除一个增量备份
echo.
echo.                               [1] 手动SNAPSHOT备份恢复
echo.
echo.                               [2] 查看备份%SNADIR%目录
echo. ----------------------------------------------------------------------------------------
echo.              [E]退出          [Q]重启              [M]启动模式%EWS%
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%"=="G" goto GHWZ
if /I "%ST1%"=="F" goto XZ
if /I "%ST1%"=="B" goto BPFB
if /I "%ST1%"=="L" goto ES1
if /I "%ST1%"=="W" goto BPFE1
if /I "%ST1%"=="BF" goto winbackup
if /I "%ST1%"=="HF" goto winrecover
if /I "%ST1%"=="H" goto BPFH1
if /I "%ST1%"=="N" goto NN
if /I "%ST1%"=="Q" goto QQ
if /I "%ST1%"=="Y" goto YY
if /I "%ST1%"=="O" goto MENU1
if /I "%ST1%"=="X" goto XX
if /I "%ST1%"=="M" goto MM
if /I "%ST1%"=="R" goto RR
if /I "%ST1%"=="U" goto UU
if /I "%ST1%"=="8" goto SC
if /I "%ST1%"=="e" goto exit
if /I "%ST1%"=="C" goto CC
if /I "%ST1%"=="T" goto TT
if /I "%ST1%"=="K" goto KK
if /I "%ST1%"=="S" goto ZZ
if /I "%ST1%"=="P" GOTO KSK
if /I "%ST1%"=="1" goto SHOU

GOTO MENU
EXIT

:SHOU
SNAPSHOT64.EXE -L0
GOTO MENU
EXIT

:MM
ECHO.启动模式:
echo. 1.ESD模式   2.WIM模式   3.SNA模式
SET /P QDMS=         请输入启动模式 默认:%EWS%(1-3)数字回车:
if /I "%QDMS%"=="1" SET EWS=ESD
if /I "%QDMS%"=="2" SET EWS=WIM
if /I "%QDMS%"=="3" SET EWS=SNA
ECHO.%EWS%>%SNADIR%CONFIG.TXT
echo. 下次启动模式%EWS%模式启动
PAUSE
GOTO MENU

:TT
IF %BOO% equ 关闭 (
SET BOO=开启
) ELSE (
SET BOO=关闭
)
GOTO MENU

:KK
IF NOT EXIST %WZ% GOTO MENU
SET P8=%WZ%
ECHO.按E键-返回主菜单
SET /P B8= 重建默认:%WZ1% 按任意键开始.....回车:
if /I "%B8%"=="e" goto MENU
wimlib-imagex optimize %WZ% --check
PAUSE
GOTO MENU

:UU
SET sn1=1
SET XX2=1
for /l %%i in (1,1,100) do (
IF NOT EXIST %DIRSD%\YP%%i GOTO PASS49
set /a sn1=%%i+1
)
:PASS49
SET XX2=%sn1%
IF %UP% equ 关闭Y: (
SET UP=开启Y:
IF NOT EXIST %DIRSD%\YP%XX2%\  MD %DIRSD%\YP%XX2%\  
SUBST.EXE  Y:  %DIRSD%\YP%XX2%\
) ELSE (
SET UP=关闭Y:
SUBST.EXE  Y:  /D
)
GOTO MENU

:GHWZ
IF %WE% equ ESD  SET  WE=WIM & SET KK2=切换WIM-SNA界面 & SET  YS=--compress=XPRESS & GOTO GHWZ1
IF %WE% equ SNA  SET  WE=ESD & SET KK2=切换ESD-WIM界面 & SET  YS=--compress=LZX:20  & GOTO GHWZ1
IF %WE% equ WIM SET  WE=SNA & SET KK2=切换SNA-ESD界面 & SET  YS=--compress=LZX:20   & GOTO GHWZ1
:GHWZ1
SET WZ1=%SNADIR%SYSC%XX1%.%WE%
SET WZ=%SNADIR%SYSC%XX1%.%WE%
SET NM=OKK
GOTO MENU

:RR
TYPE %CK% | MORE
PAUSE
GOTO MENU

:ZZ
SET NM=OFFN
SET NNN=9
SET BPF09=1
ECHO.搜索文件中.......请等待......
IF EXIST X.TXT DEL X*.TXT
DIR "%DIRSDWJ%\*.%WE%" /S /B >X.TXT
for /f "delims=" %%a in ("X.txt") do if %%~za equ 0 PAUSE &  GOTO MENU
FIND /N "%DIRSDWJ%\" X.TXT >X1.TXT
for /f "tokens=*" %%a in (X1.TXT) do @echo %%a|find /v /i "---">>X2.TXT
TYPE X2.TXT
SET /P BPF09=默认:%BPF09%请输入第几个文件号[数字]回车:
ECHO. 按任意键选定文件
For  /f  "delims="  %%i  in  ( 'Type X2.TXT^|Find "[%BPF09%]"' )  do  (Echo %%i>X3.TXT)
SET  /P SAA=<./X3.TXT
IF %BPF09% LEQ %NNN% (
SET /P SAA1=%SAA:~3,200%>X4.TXT
) ELSE (
SET /P SAA1=%SAA:~4,200% >X4.TXT
)  
for /f %%i in (X4.TXT) do  SET PF=%%~di
for /f %%i in (X4.TXT) do  SET LJ=%%~pi
SET  LJ1=%LJ:~0,8%...\
for /f %%i in (X4.TXT) do  SET WJ=%%~ni
for /f %%i in (X4.TXT) do  SET KZ=%%~xi
GOTO MENU

:CC
SET NM=OKK

for %%b in (C D E F G H I J K L M N O P Q R S T U V W X Y Z) do (
IF exist %%b: SET  k1=%%b
)
SET BPF6=%DIRSDWJ%
SET /P BPF6= 默认:备份存储%DIRSD%盘  请输入备份存储盘: (请输入C-%K1%)字母回车:
IF  %BPF6%==%DIRSDWJ% GOTO MENU
SET DIRSDWJ=%BPF6%:
GOTO MENU

:QQ
shutdown -r -t 0
EXIT

:XX
SET NM=OKK
SET sn=1
for /l %%i in (1,1,10) do (
IF NOT EXIST %SNADIR%SYSC%%i.%WE% GOTO PASS50
set /a sn=%%i+1
)
:PASS50
IF NOT EXIST %SNADIR%SYSC%XX1%.%WE% SET sn=1
SET XX1=%sn%
SET /P XX1=         请输入完整备份文件号 默认:SYSC%XX1%.%WE%(默认第%XX1%个完整备份 请输入1-9数字)回车:
ECHO. 选择的是SYSC%XX1%.%WE% 文件
SET WZ1=%SNADIR%SYSC%XX1%.%WE%
SET WZ=%SNADIR%SYSC%XX1%.%WE%
CLS
GOTO MENU

:YY
ECHO.压缩率选项如下:
echo.1.--compress=LZX:20   4.--compress=LZMS   7.--compress=XPRESS
echo.2.--compress=LZX      5.--compress=none   8.--compress=XPRESS:80
echo.3.--compress=LZX:100  6.--wimboot         9.--solid
SET /P YS=         请输入压缩模式 默认:%YS%(1-9)数字回车:
if /I "%YS%"=="1" SET YS=--compress=LZX:20
if /I "%YS%"=="2" SET YS=--compress=LZX
if /I "%YS%"=="3" SET YS=--compress=LZX:100
if /I "%YS%"=="4" SET YS=--compress=LZMS
if /I "%YS%"=="5" SET YS=--compress=none
if /I "%YS%"=="6" SET YS=--wimboot
if /I "%YS%"=="7" SET YS=--compress=XPRESS
if /I "%YS%"=="8" SET YS=--compress=XPRESS:80
if /I "%YS%"=="9" SET YS=--solid
GOTO MENU

:NN
CMD /C "ECHO LIST VOL"|DISKPART
ECHO. 隐藏 ESP分区
ECHO.------------------------------
set /p v=请选择ESP分区的卷号(0-9数字:%v%) 然后按回车:
cmd /c "echo select vol %v% & echo remove & echo list vol"|diskpart
ECHO. 已经卸载ESP分区盘符
ECHO. 隐藏ESP分区盘符,便于保护引导区文件,不被修改!!!
ECHO.-----------------------------------------------------------
SET ES=C:
PAUSE
GOTO MENU

:BPFE1
for %%b in (C D E F G H I J K L M N O P Q R S T U V W X Y Z) do (
IF exist %%b: SET  k1=%%b
)
SET BPF0=C
SET /P BPF0=         请输入关联ESP-分区对应的WINDOWS盘符 默认C:盘 (请输入C-%K1%)字母回车:
SET BPFE=%BPF0%:
GOTO MENU

:ES1
CLS
CMD /C "ECHO LIST VOL"|DISKPART
ECHO. 挂载 ESP分区
ECHO.------------------------------
set /p v=请选择ESP分区的卷号(0-9数字:%v%) 然后按回车:
cmd /c "echo select vol %v% & echo assign & echo list vol"|diskpart
ECHO. 已经分配 ESP分区盘符
for %%b in (C D E F G H I J K L M N O P Q R S T U V W X Y Z) do (
IF exist %%b: SET  k1=%%b
)
SET BPF1=C
SET /P BPF1=         请输入ESP分区挂载的盘符 默认C:盘 (请输入C-%K1%)字母回车:
SET ES=%BPF1%:
GOTO MENU

:BPFB
for %%b in (C D E F G H I J K L M N O P Q R S T U V W X Y Z) do (
IF exist %%b: SET  k1=%%b
)
SET BPF1=C
SET /P BPF1=         请输入需要备份目标盘符 默认C:盘 (请输入C-%K1%)字母回车:
SET  BPFB=%BPF1%:
GOTO MENU

:BPFH1
for %%b in (C D E F G H I J K L M N O P Q R S T U V W X Y Z) do (
IF exist %%b: SET  k1=%%b
)
SET BPF2=C
SET /P BPF2=         请输入需要恢复目标盘符 默认C:盘 (请输入C-%K1%)字母回车:
SET  BPFH=%BPF2%:
IF  /I %BPFH% equ %DIRSD% (
ECHO. 与备份盘一致重新选择盘符
GOTO BPFH1
)

GOTO MENU

:XZ
set syspart=%BPFE%
set rootpart=%ES%
set bios=uefi
set sect=n
echo. 默认ESP分区%ES%盘 关联ESP-分区对应的Windows盘符为 %BPFE%盘 默认固件类型: uefi
set /p bios=按E键-返回主菜单 请输入"固件类型",可选 uefi , bios 默认 uefi 类型:
if /I "%bios%"=="e" goto MENU
bcdboot.exe %syspart%\windows /s %rootpart% /f %bios% /l zh-cn
if %bios%==uefi (
        copy "%windir%\Boot\DVD\EFI\boot.sdi" "%rootpart%\EFI\Microsoft\Boot\">nul
       
        if exist %rootpart%\EFI\boot\zh-CN rd /s /q %rootpart%\EFI\boot\zh-CN
        md %rootpart%\EFI\boot\zh-CN
        copy "%rootpart%\EFI\Microsoft\Boot\zh-CN\bootmgfw.efi.mui" "%rootpart%\EFI\Boot\zh-CN\">nul
       
        if %processor_architecture%==X86 (
                ren  %rootpart%\EFI\Boot\zh-CN\bootmgfw.efi.mui bootia32.efi.mui
        ) else (
                ren  %rootpart%\EFI\Boot\zh-CN\bootmgfw.efi.mui bootx64.efi.mui )
)
if %bios%==bios (
        copy "%windir%\Boot\DVD\PCAT\boot.sdi" "%rootpart%\Boot\">nul
        set /p sect=是否将引导写入扇区,是请输入“y”:
)
if %sect%==y (
        cmd /c bootsect.exe /nt60 %rootpart% /force
        cmd /c bootsect.exe /nt60 %rootpart% /mbr /force
)
ECHO. 已经--修复ESP分区引导
ECHO.------------------------------
PAUSE
GOTO MENU

:KSK
IF "%KK%"=="--wimboot" (SET KK=OFF1
) ELSE (
SET KK= --wimboot
)
GOTO MENU
EXIT

:SC
SET ST7=%Hn%
IF %WE% equ SNA SET WZ1=%SNADIR%SYSC%ST7%.%WE%
ECHO.按E键-返回主菜单
SET /P ST7=默认删除%WZ1%(默认第%Hn%个备份 输入1-%Hn%数字)回车:
if /I "%ST7%"=="e" goto MENU

IF %WE% equ SNA (
IF NOT EXIST %SNADIR%SYSC%ST7%.SNA GOTO MENU
IF "%ST7%"=="1"  (
del  %SNADIR%SYSC1.SNA /F /Q  
del  %SNADIR%SYSC1.HSH /F /Q
) ELSE (
del  %SNADIR%SYSC%ST7%.SNA  /F /Q
)
GOTO MENU
)

IF EXIST %WZ% "wimlib-imagex.exe" delete %WZ%  %Hn% --soft
PAUSE
GOTO MENU

:winbackup
SET ST9=%Bn%
IF %WE% equ WIM IF NOT EXIST %WZ%  GOTO BACKUP1
IF %WE% equ ESD IF NOT EXIST %WZ%  GOTO BACKUP1
if /I "%ST1%"=="BF" goto WACKBB
IF %WE% equ SNA  GOTO WBACKUP

:WBACKUP
ECHO.按E键-返回主菜单
echo.备份%BPFB%盘 默认备份为第%Bn%个备份 输入1即覆盖更新完整备份
SET /P ST9=默认备份%WZ1%(默认第%Bn%个备份 输入%Bn%-9数字)回车:
if /I "%ST9%"=="1" goto BACKUP1
if /I %ST9% LEQ  %Hn%  goto winbackup
if /I "%ST9%"=="e" goto MENU

:WACKBB
IF %WE% equ SNA  IF NOT EXIST %SNADIR%SYSC1.SNA  GOTO BACKUP1
IF %WE% equ SNA  "Snapshot64.exe" %BPFB%  %SNADIR%SYSC%ST9%.SNA -R -Gx -L0 -H%SNADIR%SYSC1.HSH -Y & PAUSE & GOTO MENU
if /i %BPFB% neq C:  "wimlib-imagex.exe" append %BPFB%\ %WZ% %ST9% %ST9% & PAUSE & GOTO MENU
IF NOT EXIST "X:\WINDOWS\"  "wimlib-imagex.exe" append %BPFB%\ %WZ% %ST9% %ST9%  --snapshot  & PAUSE & GOTO MENU
IF EXIST "X:\WINDOWS\" "wimlib-imagex.exe" append %BPFB%\ %WZ% %ST9% %ST9%  & PAUSE & GOTO MENU
GOTO MENU
exit

:BACKUP1
SET ST0=0
IF %WE% equ SNA SET WZ1=%SNADIR%SYSC1.SNA  & SET WZ=%SNADIR%SYSC1.SNA
if /I "%ST1%"=="BF" goto WACKBB1
ECHO.按E键-返回主菜单 备份%BPFB%盘 参数boot%BOO%
SET /P ST0=默认备份%WZ1% 回车:
if /I "%ST0%"=="e" goto MENU
:WACKBB1
IF %WE% equ SNA  "Snapshot64.exe" %BPFB%  %SNADIR%SYSC1.SNA -R -Gx -L0 -Y & PAUSE & GOTO MENU
IF %BOO% equ 开启  (
if /i %BPFB% equ Y: "wimlib-imagex.exe" capture  %DIRSD%\YP%XX2%\  %WZ%  --compress=LZX:20  --boot --check & PAUSE & GOTO MENU
if /i %BPFB% neq C: "wimlib-imagex.exe" capture  %BPFB%\  %WZ%  --compress=LZX:20  --boot --check & PAUSE & GOTO MENU
IF EXIST "X:\WINDOWS\"  "wimlib-imagex.exe" capture %BPFB%\  %WZ%  --compress=LZX:20  --boot --check & PAUSE & GOTO MENU
IF NOT EXIST "X:\WINDOWS\"  "wimlib-imagex.exe" capture %BPFB%\  %WZ%  --snapshot  --compress=LZX:20  --boot  --check  & PAUSE & GOTO MENU  
)

if /i %BPFB% neq C:  "wimlib-imagex.exe" capture %BPFB%\  %WZ% 1 1   %YS% --check  & PAUSE & GOTO MENU
if %WE% equ ESD (
IF EXIST "X:\WINDOWS\"  "wimlib-imagex.exe" capture %BPFB%\  %WZ% 1 1   %YS%   --check
IF NOT EXIST "X:\WINDOWS\"  "wimlib-imagex.exe" capture %BPFB%\  %WZ% 1 1  --snapshot  %YS% --check         
) ELSE (
IF EXIST "X:\WINDOWS\"  "wimlib-imagex.exe" capture %BPFB%\  %WZ% 1 1 %YS%  --check
IF NOT EXIST "X:\WINDOWS\"  "wimlib-imagex.exe" capture %BPFB%\  %WZ% 1 1  --snapshot  %YS%  --check      
)
pause
GOTO MENU
EXIT

:winrecover
SET ST4=%Hn%
IF %WE% equ SNA SET WZ1=%SNADIR%SYSC%ST4%.SNA & SET WZ=%SNADIR%SYSC%ST4%.SNA
if /I "%ST1%"=="HF" goto WCOVER
ECHO.按E键-返回主菜单
echo.恢复C:盘请进入PE中恢复系统 恢复到%BPFH%盘 参数wimboot%KK1%
SET /P ST4=默认恢复%WZ1%(默认第%Hn%个恢复 输入1-%ST4%数字)回车:
if /I "%ST4%"=="e" goto MENU

:WCOVER  
IF %WE% equ SNA (
SET WZ1=%SNADIR%SYSC%ST4%.SNA
SET WZ=%SNADIR%SYSC%ST4%.SNA
IF NOT EXIST %SNADIR%SYSC1.SNA GOTO MENU
IF EXIST "X:\WINDOWS\" GOTO PEWIN
snapshot64 --schedule %BPFH%  %WZ%  --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
)

if /i %BPFH% neq C: goto PSS
IF NOT EXIST "X:\WINDOWS\"  GOTO MENU

:PSS
FORMAT %BPFH%  /Q /Y
IF "%KK%"=="--wimboot" (
"wimlib-imagex.exe" apply %WZ% %ST4% %BPFH%  --wimboot
) ELSE (
"wimlib-imagex.exe" apply %WZ% %ST4% %BPFH%  
)
GOTO MENU

:PEWIN
IF NOT EXIST %SNADIR%SYSC1.SNA GOTO MENU
snapshot64  %WZ%  %BPFH% -Y -Gx
shutdown -r -t 0
GOTO MENU
EXIT

:MENU1
CLS
echo. 备份恢复分区表!警告-警告-警告!!!慎重操作!!!
echo. ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
echo.               1. 备份--硬盘分区表
echo.
echo.               2. 备份硬盘分区表--U盘
echo.     
echo.               3. 手动启动BOOTICE-备份恢复分区表
echo.   
echo.               E. 退出
echo. ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
set choice=1
set /p choice=      请选择要进行的操作(默认为:%choice%) 然后按回车:
if /i "%choice%"=="1" goto MBR0
if /i "%choice%"=="2" goto MBRU
if /i "%choice%"=="3" goto MBR1
if /i "%choice%"=="e" goto MENU
EXIT

:MBRU
ECHO.--------------------------------------------
echo. 备份分区表!分区表文件存储在%SNADIR%01.DPT
ECHO.            备份-硬盘分区表存储到U盘
ECHO.--------------------------------------------
set /p rootpart=请输入“U盘符”[字母]回车:
BOOTICE.EXE  /DEVICE=0 /PARTITIONS /BACKUP_DPT=01.DPT /QUIET
COPY 01.DPT %rootpart%:\ /y
ECHO. 已经保存  硬盘分区表到目标盘:%rootpart%:盘 中.....
ECHO.------------------------------------------------------
PAUSE
GOTO MENU1
EXIT

:MBR0
ECHO.------------------------------------------------
echo. 备份硬盘分区表!分区表文件存储在%SNADIR%01.DPT
ECHO.------------------------------------------------
BOOTICE.EXE  /DEVICE=0 /PARTITIONS /BACKUP_DPT=01.DPT /QUIET
COPY BOOTICE.EXE %SNADIR% /Y
COPY 01.DPT %SNADIR% /Y
ECHO.------------------------------
PAUSE
GOTO MENU1
EXIT

:MBR1
ECHO.------------------------------------------
echo. 手动备份恢复分区表!BOOTICE-分区管理
ECHO.------------------------------------------
PAUSE
BOOTICE.EXE  /DEVICE=0
GOTO MENU1
EXIT

:folderopen
DIR %SNADIR%
pause
GOTO MENU
exit
测试完毕,终结版

点评

辛苦了  发表于 2024-6-1 18:21

评分

参与人数 1无忧币 +2 收起 理由
yyz2191958 + 2 赞一个!

查看全部评分

2#
 楼主| 发表于 2024-6-1 18:18:53 | 只看该作者
用法5 回车 一路回车备份 0 回车一路回车恢复,G格式转换  ESD,WIM 适合异机,个人都可以备份恢复。SNA只适合个人电脑备份恢复,不适合异机备份恢复。M设置初始启动格式。
回复

使用道具 举报

3#
发表于 2024-6-1 18:21:30 | 只看该作者
谢谢分享
回复

使用道具 举报

4#
发表于 2024-6-1 18:50:53 | 只看该作者
谢谢分享
回复

使用道具 举报

5#
发表于 2024-6-1 19:10:53 | 只看该作者
话说, 这个"一键"到底要按多少次按键?

点评

加入了隐藏键 BB 就是备份,HH就是恢复 现在可以试一下效果,我还没有测试。这两天就优化好。  详情 回复 发表于 2024-6-2 14:29
5 回车 选取备份 这个只能算选取功能,之后显示第几备份 回车 开始备份 这个就算是一键了吧 当然直接按5回车也可以实现,但是少了,很多功能,比如说,却不确认问题。这里想到了,另一层,意思。感谢。比如说隐藏  详情 回复 发表于 2024-6-2 11:46
回复

使用道具 举报

6#
发表于 2024-6-1 19:13:42 | 只看该作者

谢谢分享
回复

使用道具 举报

7#
发表于 2024-6-1 19:28:47 | 只看该作者
看看
回复

使用道具 举报

8#
发表于 2024-6-1 20:36:58 | 只看该作者
感谢分享
回复

使用道具 举报

9#
发表于 2024-6-1 21:33:47 | 只看该作者
谢谢大佬!
回复

使用道具 举报

10#
发表于 2024-6-1 22:33:08 | 只看该作者
发给你帮忙
回复

使用道具 举报

11#
发表于 2024-6-2 00:57:29 | 只看该作者
谢谢楼主分享!
回复

使用道具 举报

12#
发表于 2024-6-2 01:25:40 | 只看该作者
谢谢分享
回复

使用道具 举报

13#
发表于 2024-6-2 07:09:08 | 只看该作者
谢谢分享
回复

使用道具 举报

14#
 楼主| 发表于 2024-6-2 11:46:35 来自手机 | 只看该作者
Bluebells 发表于 2024-6-1 19:10
话说, 这个"一键"到底要按多少次按键?

5 回车 选取备份   这个只能算选取功能,之后显示第几备份 回车 开始备份 这个就算是一键了吧
当然直接按5回车也可以实现,但是少了,很多功能,比如说,却不确认问题。这里想到了,另一层,意思。感谢。比如说隐藏的按键,不需要确认的,这两天优化后加进去。
回复

使用道具 举报

15#
发表于 2024-6-2 13:10:34 | 只看该作者
不如写个软件放出来吧

点评

下载 123pan.com/s/WtyA-yig0.html  详情 回复 发表于 2024-6-2 17:23
回复

使用道具 举报

16#
发表于 2024-6-2 13:44:48 | 只看该作者
厉害
回复

使用道具 举报

17#
发表于 2024-6-2 13:47:56 | 只看该作者
楼主辛苦,好复杂
回复

使用道具 举报

18#
 楼主| 发表于 2024-6-2 14:29:46 | 只看该作者
Bluebells 发表于 2024-6-1 19:10
话说, 这个"一键"到底要按多少次按键?

加入了隐藏键 BB 就是备份,HH就是恢复 现在可以试一下效果,我还没有测试。这两天就优化好。

点评

我不用这类软件的,因为我曾被所谓的“一键”还原搞坏了用于保存数据的非系统分区 这类软件要么将逻辑写死了,要么无法适应各种复杂环境,要么就是一大堆确认请求,还不如自己一步步地选择处理  详情 回复 发表于 2024-6-2 15:57
回复

使用道具 举报

19#
发表于 2024-6-2 15:57:54 | 只看该作者
gxbcm 发表于 2024-6-2 14:29
加入了隐藏键 BB 就是备份,HH就是恢复 现在可以试一下效果,我还没有测试。这两天就优化好。

我不用这类软件的,因为我曾被所谓的“一键”还原搞坏了用于保存数据的非系统分区
这类软件要么将逻辑写死了,要么无法适应各种复杂环境,要么就是一大堆确认请求,还不如自己一步步地选择处理
回复

使用道具 举报

20#
 楼主| 发表于 2024-6-2 17:23:59 | 只看该作者
自然而然 发表于 2024-6-2 13:10
不如写个软件放出来吧

下载  123pan.com/s/WtyA-yig0.html
回复

使用道具 举报

21#
发表于 2024-6-2 17:55:26 | 只看该作者
谢谢分享
回复

使用道具 举报

22#
发表于 2024-6-2 22:54:08 | 只看该作者
谢谢,又学习到新东西了
回复

使用道具 举报

23#
发表于 2024-6-3 22:19:00 | 只看该作者
感谢楼主分享
回复

使用道具 举报

24#
 楼主| 发表于 2024-6-4 19:18:45 | 只看该作者
加快测试,基本功能是可以了,还需优化测试。
回复

使用道具 举报

25#
发表于 2024-6-5 16:50:51 | 只看该作者
感谢提供分享!
回复

使用道具 举报

26#
发表于 2024-6-5 17:09:26 | 只看该作者
加油,继续努力,谢谢大佬分享!
回复

使用道具 举报

27#
 楼主| 发表于 2024-6-5 18:19:17 | 只看该作者
合并后的终结版,测试时,非常饶人,主要是逻辑判断,非常饶人,不断的梳理逻辑,终于搞定了。远不像独立版那样好搞定。
使用经验谈:增加BF键自动备份,不需要选择和确认。增加了HF键自动恢复,不需要选择和确认,默认,自动递增备份,和最新一次备份恢复。
ESD,WIM,恢复C盘时,需要进入PE恢复,ESD,WIM备份时,支持WIN系统下热备份,增量备份。SNA可以在PE,win中备份恢复,支持热备份差异备份。
支持制作PE启动镜像。ESD,WIM支持夸盘备份恢复,SNA不支持异机恢复,ESD,WIM支持异机备份恢复。支持ESP引导修复。支持删除增量备份。
智能识别备份目录和文件,并可以设定启动模式是ESD,WIM,SNA任意一项。5备份时,可以选择数字1-N个已有备份。0恢复时,恢复时选择数字1-N个备份,就是可以有选择的恢复那个备份。支持搜索第三方ESD,WIM备份文件,并进行增量备份和恢复,如原版WINDOWS镜像中的INSTALL.WIM是可以安装到目标盘的哦。以上功能都是经过无数次的测试过的。提供备份分区表,防止数据丢失。WIMBOOT部署,BOOT启动参数。已更新上传网盘。

回复

使用道具 举报

28#
发表于 2024-6-5 18:47:53 | 只看该作者
谢谢分享
回复

使用道具 举报

29#
发表于 2024-6-8 20:42:30 | 只看该作者
保存为cmd在win10双击打开后是乱码
璇疯緭鍏ュ浠藉瓨鏀惧伐浣滅洏(C-Z)瀛楁瘝鍥炶溅锛?
回复

使用道具 举报

30#
 楼主| 发表于 2024-6-8 22:57:20 来自手机 | 只看该作者
保存ascii 码,就不会乱码了
回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2024-11-25 22:47

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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