无忧启动论坛

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

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

    [复制链接]
跳转到指定楼层
#
发表于 2025-5-9 13:37:08 | 只看该作者 |只看大图 回帖奖励 |正序浏览 |阅读模式
本帖最后由 Bluebells 于 2025-8-18 21:30 编辑

在无忧启动论坛上有不少这种功能简单的备份还原工具的前端工具, 因此我也凑凑热闹, 使用 PECMD 脚本简单编写了一个
这个前端的功能比较单一, 只有简单的分区备份和还原
PS: 附件的前端工具没有内置/外置 Drive Snapshot, 仅一个空壳而已, 请根据自己需求将含授权信息的 Drive Snapshot 添加到与该前端同一目录位置

查看/修改源码: 使用 PE 文件编辑器(如 Resource Hacker)打开该前端工具, 展开到 SCRIPT\101 即可
如果你觉得这个前端写得不错, 又想增加一些功能, 则可以自己修改源码进行定制增强

Easy-DS.zip (620.45 KB, 下载次数: 303)
Easy-DS_v2.zip (621.13 KB, 下载次数: 95)
Easy-DS_v2B.zip (621.47 KB, 下载次数: 86)
Easy-DS_v3.7z (501.38 KB, 下载次数: 50)
Easy-DS_v3B.7z (501.57 KB, 下载次数: 53)
非 B 版在处理未分配驱动器号(盘符)的备份源分区/还原目标分区时采用磁盘分区号, 而 B 版则是采用临时分配驱动器号的方式

PS: 该前端支持备份/还原无驱动器号(盘符)的分区, 但备份源分区/还原目标分区并不可靠
因为该前端所使用的磁盘/分区编号为 winapi 提供的, 并非 Drive Snapshot 原生接口
其实 Drive Snapshot 提供了 --show 选项以打印本地磁盘分区信息
由于提取程序标准输出的方式的运行效率不高, 且我不懂正则, 无法合理提取所需信息, 因此采用 pecmd 提供的磁盘/分区编号
Drive Snapshot 的磁盘编号是以 1 开始的, winpai 则是以 0 开始, 因此执行备份/还原命令前, 会事先对磁盘编号+1
当源分区/目标分区存在驱动器号时, 会优先采用驱动器号, 而不是磁盘/分区编号
(我在实机环境和虚拟机环境下进行了几次无驱动器号分区的备份/还原操作, 暂时没发现采用 winapi 提供的磁盘编号+1和分区编号的方式与 Drive Snapshot 原生的磁盘/分区编号存在差异)

评分

参与人数 6无忧币 +30 收起 理由
gxbcm + 5 支持!
cuicongyuan + 5 赞一个!
wuxin9712 + 5 赞一个!
gtc + 5 很给力!
rzp428 + 5 很给力!
i2ur + 5 很给力!

查看全部评分

73#
发表于 2025-10-27 17:34:30 | 只看该作者
感谢分享
回复

使用道具 举报

72#
发表于 2025-10-27 10:57:59 | 只看该作者
感谢分享
回复

使用道具 举报

71#
发表于 2025-10-27 08:29:30 | 只看该作者
来看看
回复

使用道具 举报

70#
发表于 2025-5-26 10:15:51 | 只看该作者
感谢分享
回复

使用道具 举报

69#
发表于 2025-5-21 01:43:32 | 只看该作者
感谢分享!
回复

使用道具 举报

68#
发表于 2025-5-18 23:46:50 | 只看该作者
oym2016 发表于 2025-5-18 16:49
感谢 5大大 百忙中的帮助

记错了 是大漠孤鹰 VHD(X)文件辅助工具中查找 盘符原语句

关于全域、子域问题,要查看完整代码方可分析。
回复

使用道具 举报

67#
发表于 2025-5-18 23:44:43 | 只看该作者
oym2016 发表于 2025-5-18 16:49
感谢 5大大 百忙中的帮助

记错了 是大漠孤鹰 VHD(X)文件辅助工具中查找 盘符原语句

用最新版PECMD,可简化取时间:

DATE SysDate y Mon d h min
sed -ex STime=0,{\z}\b+{\z}\b+{\z}\b+{\z}\b+{\z},\001-\002-\003_\004:\005,SysDate
mess. [%STime%]---------[%STime:~2,%]











回复

使用道具 举报

66#
发表于 2025-5-18 23:30:42 | 只看该作者
oym2016 发表于 2025-5-18 16:49
感谢 5大大 百忙中的帮助

记错了 是大漠孤鹰 VHD(X)文件辅助工具中查找 盘符原语句


下面两种写法都可以,PECMD  help  获取更多帮助。

_SUB getNoDrv
    ENVI @Listvd.VAL=
    fdrv -idlec &drvs=*:
    forx * %&drvs% ,&p0,ENVI @Listvd.ADDSEL=%&p0%
_END

_SUB getNoDrv
    ENVI @Listvd.VAL=
    fdrv -idlec &drvs=
    ENVI @Listvd.ADD1=%&drvs%
_END





回复

使用道具 举报

65#
发表于 2025-5-18 20:47:53 | 只看该作者
好东西,很小巧,方便。谢谢
回复

使用道具 举报

64#
发表于 2025-5-18 16:49:24 | 只看该作者
本帖最后由 oym2016 于 2025-5-18 21:07 编辑
527104427 发表于 2025-5-18 15:38
fdrv -idlec &drvs=*:
FORX * %&drvs%,&ph,
{*

感谢 5大大 百忙中的帮助

记错了 是大漠孤鹰 VHD(X)文件辅助工具中查找 盘符原语句
_SUB getNoDrv
    ENVI @List1=
    fdrv -idlec &drvs=*:
    forx* %&drvs% ,&p0,ENVI @List1=%&p0%
    ENVI @List1.SEL=%List1%
    LSTR zList1=1,%List1%
_END

我在引用时,没有找到到空盘号  改为下面时 就才能找到 并挂接上vhdx,有点不解 才请教, , ,

_SUB getNoDrv
fdrv -idlec &drvs=*:
FORX * %&drvs%,&ph,0,%ph%
ENVI Listvd=%&ph%
ENVI @Listvd.ADD=%Listvd%
_END
////////////////
DATE SysDate
TEAM MSTR ST1=%SysDate%,3,7|MSTR ST2=%SysDate%,13,4
ENVI STime=%ST1%_%ST2%

以上取备份时间句
在Easy-DS.zip脚本中 能设为 全域 任意子程序都能调用。
在Easy-DS_v2.zip和Easy-DS_v2b.zip 全域调无效,只能子程序中设置 才有效果
用BC软件工具同时打开二个脚本 对照过  没找出 全域与子域 的句

有点不解?


点评

关于全域、子域问题,要查看完整代码方可分析。  详情 回复 发表于 2025-5-18 23:46
用最新版PECMD,可简化取时间: DATE SysDate y Mon d h min sed -ex STime=0,{\z}\b+{\z}\b+{\z}\b+{\z}\b+{\z},\001-\002-\003_\004:\005,SysDate mess. [%STime%]---------[%STime:~2,%] [attachim  详情 回复 发表于 2025-5-18 23:44
下面两种写法都可以,PECMD help 获取更多帮助。 _SUB getNoDrv ENVI @Listvd.VAL= fdrv -idlec &drvs=*: forx * %&drvs% ,&p0,ENVI @Listvd.ADDSEL=%&p0% _END _SUB getNoDrv ENVI  详情 回复 发表于 2025-5-18 23:30
回复

使用道具 举报

63#
 楼主| 发表于 2025-5-18 16:06:21 | 只看该作者
oym2016 发表于 2025-5-18 15:16
下载使用您的 Easy-DS.zip  Easy-DS_v2.zip Easy-DS_v2b .zip 在使用还原功能项时  镜像还原到挂接的VHDX ...

为什么不能过?

截图为 v2b 的测试结果

回复

使用道具 举报

62#
发表于 2025-5-18 15:38:00 | 只看该作者
oym2016 发表于 2025-5-18 14:30
Bluebells 老师:
    这个pecmd.exe 是不是对使用环境(含硬件)有一定的要求? 老师的三个版都有跟进 ...

fdrv -idlec &drvs=*:
FORX * %&drvs%,&ph,
{*
    ENVI Listvd=%ph%
    //其他命令写这里
   //其他命令写这里
   //其他命令写这里
   //……
}

点评

感谢 5大大 百忙中的帮助 记错了 是大漠孤鹰 VHD(X)文件辅助工具中查找 盘符原语句 _SUB getNoDrv ENVI @List1= fdrv -idlec &drvs=*: forx* %&drvs% ,&p0,ENVI @List1=%&p0% ENVI @List1.  详情 回复 发表于 2025-5-18 16:49
回复

使用道具 举报

61#
发表于 2025-5-18 15:16:48 | 只看该作者
Bluebells 发表于 2025-5-18 14:38
没看懂你说啥? 我不记得我有写什么"向vhdx还原", 也不记得有定义过"%&ph%"这样的变量

下载使用您的 Easy-DS.zip  Easy-DS_v2.zip Easy-DS_v2b .zip 在使用还原功能项时  镜像还原到挂接的VHDX,只有Easy-DS.zip能通过  其余二个不能过
语句测试是在打Pecmd.exe 执行窗中进行的,两种写法 获取的值 不一样,一个有值  一个没有值

点评

为什么不能过? [attachimg]558867[/attachimg] 截图为 v2b 的测试结果  详情 回复 发表于 2025-5-18 16:06
回复

使用道具 举报

60#
 楼主| 发表于 2025-5-18 14:38:09 | 只看该作者
oym2016 发表于 2025-5-18 14:30
Bluebells 老师:
    这个pecmd.exe 是不是对使用环境(含硬件)有一定的要求? 老师的三个版都有跟进 ...

没看懂你说啥? 我不记得我有写什么"向vhdx还原", 也不记得有定义过"%&ph%"这样的变量

点评

下载使用您的 Easy-DS.zip Easy-DS_v2.zip Easy-DS_v2b .zip 在使用还原功能项时 镜像还原到挂接的VHDX,只有Easy-DS.zip能通过 其余二个不能过 语句测试是在打Pecmd.exe 执行窗中进行的,两种写法 获取的值 不  详情 回复 发表于 2025-5-18 15:16
回复

使用道具 举报

59#
发表于 2025-5-18 14:30:34 | 只看该作者
本帖最后由 oym2016 于 2025-5-18 14:34 编辑
Bluebells 发表于 2025-5-10 16:04
如果你有认真看完帖子内容就不用做重复工作

Bluebells 老师:
    这个pecmd.exe 是不是对使用环境(含硬件)有一定的要求? 老师的三个版都有跟进,第一个的功能全能用,第二版、第三版 都是还原时直接跳出来(向vhdx还原)。照老师现成语句测试 就是获取不到值,例:
     fdrv -idlec &drvs=*:
    FORX * %&drvs%,&ph,0, ENVI Listvd=%ph%
要改成:
     fdrv -idlec &drvs=*:
    FORX * %&drvs%,&ph,0,%ph%
    ENVI Listvd=%&ph%  
   才能获取值
pecmd 是不是只能在PE下使用?还是我使用方法 有错 初触pecmd语句

点评

fdrv -idlec &drvs=*: FORX * %&drvs%,&ph, {* ENVI Listvd=%ph% //其他命令写这里 //其他命令写这里 //其他命令写这里 //…… }  详情 回复 发表于 2025-5-18 15:38
没看懂你说啥? 我不记得我有写什么"向vhdx还原", 也不记得有定义过"%&ph%"这样的变量  详情 回复 发表于 2025-5-18 14:38
回复

使用道具 举报

58#
发表于 2025-5-17 09:13:02 | 只看该作者
收藏 下载
回复

使用道具 举报

57#
发表于 2025-5-16 12:43:20 来自手机 | 只看该作者
感谢分享,不知分区列表可不可以加一下主分区和逻辑分区的显示,
回复

使用道具 举报

56#
发表于 2025-5-16 10:56:36 | 只看该作者
感谢分享
回复

使用道具 举报

55#
发表于 2025-5-15 13:36:05 | 只看该作者
感谢分享
回复

使用道具 举报

54#
发表于 2025-5-14 23:41:21 | 只看该作者
感谢分享。
回复

使用道具 举报

53#
发表于 2025-5-14 23:33:33 | 只看该作者
谢谢分享
回复

使用道具 举报

52#
发表于 2025-5-13 18:21:18 | 只看该作者
感谢分享
回复

使用道具 举报

51#
发表于 2025-5-13 14:15:42 | 只看该作者
感谢分享
回复

使用道具 举报

50#
发表于 2025-5-13 13:17:16 来自手机 | 只看该作者
感谢分享
回复

使用道具 举报

49#
发表于 2025-5-12 19:21:37 | 只看该作者
老师,这个能否添加默认选择C盘?
回复

使用道具 举报

48#
发表于 2025-5-12 18:01:18 | 只看该作者
感谢分享。收下
回复

使用道具 举报

47#
发表于 2025-5-12 15:03:44 来自手机 | 只看该作者
这个是好东西
回复

使用道具 举报

46#
发表于 2025-5-12 00:27:33 | 只看该作者
感谢分享
回复

使用道具 举报

45#
发表于 2025-5-10 18:24:08 | 只看该作者
还是这个?好东西啊
回复

使用道具 举报

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

分享一下吧。
回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2025-11-4 14:42

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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