无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站投放广告、加入VIP会员,请联系 微信:wuyouceo
12
返回列表 发新帖
楼主: Bluebells
打印 上一主题 下一主题

[分享] Drive Snapshot 分区备份还原 空壳 [开源]

    [复制链接]
31#
发表于 4 天前 | 只看该作者
回复

使用道具 举报

32#
发表于 4 天前 | 只看该作者
不错的软件
回复

使用道具 举报

33#
发表于 4 天前 | 只看该作者
好软件
回复

使用道具 举报

34#
发表于 4 天前 | 只看该作者
软件可以
回复

使用道具 举报

35#
发表于 4 天前 | 只看该作者
谢谢分享
回复

使用道具 举报

36#
发表于 4 天前 | 只看该作者
好软件 值得拥有
回复

使用道具 举报

37#
发表于 4 天前 | 只看该作者
看看好用不
回复

使用道具 举报

38#
发表于 3 天前 | 只看该作者
多谢分享!
回复

使用道具 举报

39#
发表于 3 天前 | 只看该作者
感谢分享
回复

使用道具 举报

40#
发表于 3 天前 | 只看该作者

谢谢楼主分享
回复

使用道具 举报

41#
发表于 3 天前 | 只看该作者
好东西啊
回复

使用道具 举报

42#
发表于 3 天前 | 只看该作者
本帖最后由 linkz08 于 2025-5-10 14:07 编辑

这个方便实用!多谢分享!在有些PE中试用好象点击选择路径没反应,无法下一步操作,应该是PE有点问题!同一PE中用简易版壳正常!
回复

使用道具 举报

43#
发表于 3 天前 | 只看该作者
看似是 PECMD 的代码,因为很少接触,大家觉得呢?
  1. @TEAM ENVI^ EnviMode=1| ENVI^ ForceLocal=1
  2. TEAM SET$ &NL=0d 0a| SET$ &TAB=09
  3. ENVI &::MEXE=%&CurDir%\snapshot.exe
  4. IFEX $%&bX64%=0,! IFEX %&CurDir%\snapshot64.exe,ENVI &::MEXE=%&CurDir%\snapshot64.exe
  5. ENVI ?,&DSVer=FVER,%&::MEXE%

  6. _SUB WIN1,W500H450,Drive Snapshot 分区备份还原,,,
  7.     GROU GROU1,L10T5W475H55,
  8.     LABE LABE1,L20T19W145H16,1. 请选择将要执行的操作:,,,
  9.     RADI RADI1,L100T35W85H20,备份分区(&B),CALL ControlSwitch,1,0
  10.     RADI RADI2,L300T35W85H20,还原分区(&R),CALL ControlSwitch,0,0
  11.    
  12.     GROU GROU2,L10T65W475H205,
  13.     LABE LABE2,L18T79W350H18,2. 请选择一个目标分区:,,,
  14.     IMAG IMAG2,L457T75W20H20,shell32.dll#238,CALL OnTable,
  15.     ENVI @IMAG2.MSG=0x02A1:CALL ControlTip "点击此处以刷新磁盘分区信息"
  16.     ENVI @IMAG2.MSG=0x02A3:TIPS -
  17.     SET &&TITLE=+40:序号%&TAB%+40:盘符%&TAB%=70:总大小%&TAB%=70:可用空间%&TAB%+60:分区类型%&TAB%+60:文件系统%&TAB%95:卷标
  18.     TABL TABL2,L18T97W460H165,%&TITLE%,,0x10040
  19.    
  20.     GROU GROU3,L10T275W475H65,
  21.     LABE LABE3,L18T289W350H18,3. 请选择映像文件路径:,,,
  22.     LIST LIST3,L20T310W410H20,,,,0x4
  23.     LIST LIST4,L20T310W410H20,,,,
  24.     ITEM ITEM3,L440T309W35H22,...,CALL PickImageFile,,
  25.    
  26.     ITEM ITEM4,L350T355W60H30,执行,CALL StartingBackupRestore,
  27.     ITEM ITEM5,L425T355W60H30,退出,EXIT FILE,
  28.    
  29.     LABE+ ,L-1T400W500H1,,,
  30.     LABE -left LABE4,L5T405W350H12,,,
  31.     FIND $%&DSVer%=,! LABE -right LABE5,L385T405W105H12,snapshot %DSVer%,EXEC %&::MEXE%,0xFF0000,
  32.    
  33.     CALL Initialize
  34. _END

  35. CALL @WIN1

  36. _SUB OnTable
  37.     ENVI &TableInfo=
  38.     PART list disk ,&AllDisks
  39.     FORX * %&AllDisks%,&DiskNum,
  40.     {
  41.         PART list part %&DiskNum%,&AllParts
  42.         FORX * %&AllParts%,&PartNum,
  43.         {
  44.             IFEX $%&PartNum%>0,! EXIT -
  45.             TEAM ENVI &ID=| &DL=| ENVI &VS=| ENVI &VFS=| ENVI &TP=| ENVI &FS=| ENVI &VL=| ENVI &Unit1=| ENVI &Unit2=
  46.             ENVI &ID=%&DiskNum%:%&PartNum%
  47.             PART list part %&DiskNum%:%&PartNum%,&PartInfo
  48.             MSTR &TP,&VS,&DL=<3><5><8>%PartInfo%
  49.             IFEX \\?\Harddisk%&DiskNum%Partition%&PartNum%\=?,&VFS
  50.             FDRV -vol &VL,&FS=\\?\Harddisk%&DiskNum%Partition%&PartNum%
  51.             IFEX $%&VS%<1024,ENVI &Unit1=Byte
  52.             IFEX $%&VS%>1024,TEAM CALC [        DISCUZ_CODE_0        ]amp;VS = %&VS% / 1024 ##2| ENVI &Unit1=KB
  53.             IFEX $%&VS%>1024,TEAM CALC [        DISCUZ_CODE_0        ]amp;VS = %&VS% / 1024 ##2| ENVI &Unit1=MB
  54.             IFEX $%&VS%>1024,TEAM CALC [        DISCUZ_CODE_0        ]amp;VS = %&VS% / 1024 ##2| ENVI &Unit1=GB
  55.             IFEX $%&VS%>1024,TEAM CALC [        DISCUZ_CODE_0        ]amp;VS = %&VS% / 1024 ##2| ENVI &Unit1=TB
  56.             IFEX $%&VFS%<1024,ENVI &Unit2=Byte
  57.             IFEX $%&VFS%>1024,TEAM CALC [        DISCUZ_CODE_0        ]amp;VFS = %&VFS% / 1024 ##2| ENVI &Unit2=KB
  58.             IFEX $%&VFS%>1024,TEAM CALC [        DISCUZ_CODE_0        ]amp;VFS = %&VFS% / 1024 ##2| ENVI &Unit2=MB
  59.             IFEX $%&VFS%>1024,TEAM CALC [        DISCUZ_CODE_0        ]amp;VFS = %&VFS% / 1024 ##2| ENVI &Unit2=GB
  60.             IFEX $%&VFS%>1024,TEAM CALC [        DISCUZ_CODE_0        ]amp;VFS = %&VFS% / 1024 ##2| ENVI &Unit2=TB
  61.             FIND $%TP%<>GPT,ENVI &TP=MBR
  62.             ENVI &TableInfo=%&TableInfo%%&ID%%&TAB%%&DL%%&TAB%%&VS%%&Unit1%%&TAB%%&VFS%%&Unit2%%&TAB%%&TP%%&TAB%%&FS%%&TAB%%&VL%%NL%
  63.         }
  64.     }
  65.     ENVI @TABL2.Val=1*#;%&TableInfo%
  66. _END

  67. _SUB ControlTip
  68.     TEAM TIPS -| ENVI &ShowContent=
  69.     ENVI &ShowContent=%~1
  70.     ENVI @@Cur=?&CurXM;&CurYM
  71.     TIPS ,%&ShowContent%,,0,@AL%&CurXM%T%&CurYM%
  72. _END

  73. _SUB ControlSwitch
  74.     ENVI @LIST3.Visible=%RADI1.Check%
  75.     ENVI @LIST4.Visible=%RADI2.Check%
  76. _END

  77. _SUB Initialize
  78.     CALL OnTable
  79.     CALL ControlSwitch
  80.     THREAD* CALL ScanImageFiles
  81. _END

  82. _SUB ScanImageFiles
  83.     ENVI @LABE4=正在扫描本地磁盘上的 SNA 映像文件...
  84.     FORX /S:3 \*.sna,&ImageFiles,0,ENVI @LIST4.ADD=%&ImageFiles%
  85.     FIND $%LABE4%=正在扫描本地磁盘上的 SNA 映像文件...,ENVI @LABE4=准备就绪
  86. _END

  87. _SUB PickImageFile
  88.     IFEX $%RADI1.Check%=1,
  89.     {
  90.         BROW &ImageFile,&,请指定用于保存备份的映像文件,SNA 映像文件(*.sna)|*.sna|,0x802
  91.         FIND $%&ImageFile%=,!
  92.         {
  93.             FEXT &FileExt=%&ImageFile%
  94.             FIND $%&FileExt%=,ENVI @LIST3.ADDSEL=%&ImageFile%.sna! ENVI @LIST3.ADDSEL=%&ImageFile%
  95.         }
  96.     }
  97.     IFEX $%RADI2.Check%=1,
  98.     {
  99.         BROW &ImageFile,,请指定用于还原备份的映像文件,SNA 映像文件(*.sna)|*.sna|,0x1000
  100.         FIND $%&ImageFile%=,! ENVI @LIST4.ADDSEL=%&ImageFile%
  101.     }
  102. _END

  103. _SUB StartingBackupRestore
  104.     TEAM ENVI &DrvLtr=| ENVI &DiskNum=| ENVI &PartNum=| ENVI &BParam=| ENVI &OParam=
  105.     ENVI @TABL2.Sel=?&&Sel
  106.     ENVI @TABL2.Val=?%Sel%.1;&DiskPart
  107.     ENVI @TABL2.Val=?%Sel%.2;&DrvLtr
  108.     MSTR -delims:: &DiskNum,&PartNum=<1><2>%&DiskPart%
  109.     CALC #&DiskNum = %&DiskNum% + 1
  110.     IFEX $%RADI1.Check%=1,
  111.     {
  112.         IFEX $1>%&Sel%,TEAM MESS+icon6 您尚未选择要备份的源分区!@错误 #OK *-5000| EXIT _SUB
  113.         FIND $%LIST3%=,TEAM MESS+icon6 保存备份映像的路径不能为空!@错误 #OK *-5000| EXIT _SUB
  114.         ENVI &OParam=--usevss
  115.         FIND $%&DrvLtr%=,ENVI &BParam=HD%&DiskNum%:%&PartNum% "%LIST3%"!
  116.         {
  117.             ENVI &BParam=%&DrvLtr% "%LIST3%"
  118.             MESS+icon0 是否要在备份前对源分区执行 CHKDSK /F (修复磁盘错误)?@检查磁盘 #YN $Y
  119.             FIND $%YESNO%=YES,EXEC -wait -hide CHKDSK /F %&DrvLtr%
  120.         }
  121.         TEAM ENVI @LABE4=正在备份分区,请稍等...| ENVI @ITEM4.Enable=0| ENVI @ITEM5.Enable=0
  122.         EXEC -wait %&::MEXE% %&BParam% %&OParam%
  123.         ENVI @LIST4.ADDSEL=%LIST3%
  124.     }
  125.     IFEX $%RADI2.Check%=1,
  126.     {
  127.         IFEX $1>%&Sel%,TEAM MESS+icon6 您尚未选择要还原的目标分区!@错误 #OK *-5000| EXIT _SUB
  128.         IFEX %LIST4%,! TEAM MESS+icon6 您尚未指定映像文件或指定的映像文件不存在!@错误 #OK *-5000| EXIT _SUB
  129.         FIND $%&DrvLtr%=,ENVI &BParam="%LIST4%" HD%&DiskNum%:%&PartNum%! ENVI &BParam="%LIST4%" %&DrvLtr%
  130.         MESS+icon1 您确定要将映像内容还原到"驱动器 %&DiskPart%"?@还原确认 #OKC $C
  131.         FIND $%YESNO%=CANCEL,EXIT _SUB
  132.         TEAM ENVI @LABE4=正在还原分区,请稍等...| ENVI @ITEM4.Enable=0| ENVI @ITEM5.Enable=0
  133.         EXEC -wait %&::MEXE% %&BParam%
  134.     }
  135.     CALL OnTable
  136.     TEAM ENVI @LABE4=准备就绪| ENVI @ITEM4.Enable=1| ENVI @ITEM5.Enable=1
  137. _END
复制代码


点评

如果你有认真看完帖子内容就不用做重复工作  详情 回复 发表于 3 天前
回复

使用道具 举报

44#
 楼主| 发表于 3 天前 | 只看该作者
chishingchan 发表于 2025-5-10 14:37
看似是 PECMD 的代码,因为很少接触,大家觉得呢?

如果你有认真看完帖子内容就不用做重复工作
回复

使用道具 举报

45#
发表于 3 天前 | 只看该作者
gxbcm 发表于 2025-5-9 18:40
老师的东西,必须支持一下,定位分区,用到TBI格式,也是非常好用的。

分享一下吧。
回复

使用道具 举报

46#
发表于 3 天前 | 只看该作者
还是这个?好东西啊
回复

使用道具 举报

47#
发表于 昨天 00:27 | 只看该作者
感谢分享
回复

使用道具 举报

48#
发表于 昨天 15:03 来自手机 | 只看该作者
这个是好东西
回复

使用道具 举报

49#
发表于 昨天 18:01 | 只看该作者
感谢分享。收下
回复

使用道具 举报

50#
发表于 昨天 19:21 | 只看该作者
老师,这个能否添加默认选择C盘?
回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2025-5-13 13:02

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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