无忧启动论坛

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

[求助] 这样的一键恢复怎么完善

[复制链接]
1#
发表于 2024-1-15 17:20:18 | 显示全部楼层
::在注册表中 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run
::右键新建字符串值 restore 样例: 字符串数值数据里就是填写 D:\Win7vhd\Restore_Win7vhd.cmd

@ECHO off&PUSHD %~dp0
setlocal enabledelayedexpansion
SET dif=Basevhd.vhdx
SET Sub_1=BaseSub_1.vhdx
SET Sub_2=BaseSub_2.vhdx
set ID={c16c08ed-b1b6-11ee-b734-4ccc6afb2e83}
:Start
   IF NOT EXIST %~dp0!dif! call :first
   for /f,"delims=",%%a in ("!dif!") do set vol=[%%~da]& set pn=%%~pa
:bcd_restore
   COPY /y %~dp0!dif!  %~dp0!Sub_1! >nul 2>nul
   IF errorlevel 1  (
      COPY /y %~dp0!dif!  %~dp0!Sub_2!
      BCDEDIT /set !ID! osdevice vhd=!vol!!pn!!sub_2!
      BCDEDIT /set !ID! device vhd=!vol!!pn!!sub_2!
      ) ELSE (
      BCDEDIT /set !ID! osdevice vhd=!vol!!pn!!sub_1!
      BCDEDIT /set !ID! device vhd=!vol!!pn!!sub_1!
    )
:reg
    for /f "tokens=1*" %%c in ('bcdedit /enum !ID!') do (
                     if /i "%%c"=="device" (echo --BCD changed to %%d)
                )
    pause>nul
    EXIT
:first
    for /r %%d in (*.vhdx,*.vhd) do (set sys=%%~nxd)
    echo %sys%& pause>nul
    ECHO create vdisk file=%~dp0!dif! parent="%~dp0!sys!"|DISKPART >nul
    COPY /y %~dp0!dif!  %~dp0!Sub_1!
    GOTO :eof

仅供参考 ...
回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2024-5-14 12:37

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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