无忧启动论坛

标题: VHD文件创建差分的右键菜单 [打印本页]

作者: baby1277    时间: 2024-7-9 21:39
标题: VHD文件创建差分的右键菜单
本帖最后由 baby1277 于 2024-9-17 14:01 编辑

最近频繁修改父VHD和创建差分文件,所以写了个右键菜单,顺手分享给大家一起使用,哈哈     

菜单有两个文件  “安装右键菜单.bat”   和  “vdisk.bat”

安装右键菜单.bat
  1. @echo off
  2. cd /d %~dp0
  3. reg add "HKEY_CLASSES_ROOT\Windows.VhdFile\shell\vdisk" /v "" /t REG_SZ /d "差分磁盘(&X)" /f
  4. reg add "HKEY_CLASSES_ROOT\Windows.VhdFile\shell\vdisk" /v "icon" /t REG_SZ /d "shell32.dll,8" /f
  5. reg add "HKEY_CLASSES_ROOT\Windows.VhdFile\shell\vdisk\command" /v "" /t REG_SZ /d "mshta vbscript:CreateObject("WScript.Shell").Run("cmd /c set vhd=%%1 ^& call %SystemRoot%\vdisk.bat",0)(window.close)" /f
  6. copy /y vdisk.bat %SystemRoot%
复制代码

vdisk.bat
  1. :: 数字版本
  2. @echo off
  3. if not defined vhd msg %username% /time:3 错误,请右键菜单选择。&& exit
  4. echo.>C:\windows\vhd.txt
  5. for /l %%a in (1 1 9) do for /f "delims=" %%i in ('echo %vhd%') do if not exist %%~dpi%%~ni_%%a%%~xi echo create vdisk file=%%~dpi%%~ni_%%a%%~xi parent=%%i >>C:\windows\vhd.txt && goto vd1
  6. :vd1
  7. diskpart /s C:\windows\vhd.txt
  8. exit


  9. :: 字母版本
  10. @echo off
  11. if not defined vhd msg %username% /time:3 错误,请右键菜单选择。&& exit
  12. echo.>C:\windows\vhd.txt
  13. for %%a in (a b c d e f) do for /f "delims=" %%i in ('echo %vhd%') do if not exist %%~dpi%%~ni_%%a%%~xi echo create vdisk file=%%~dpi%%~ni_%%a%%~xi parent=%%i >>C:\windows\vhd.txt && goto vd2
  14. :vd2
  15. diskpart /s C:\windows\vhd.txt
  16. exit
复制代码



运行“安装右键菜单.bat” 后    .VHD文件右键会多出个“差分磁盘”菜单。

不想复制的就回帖下载附件吧,如有问题跟帖反馈。



作者: baby1277    时间: 2024-7-9 21:39
本帖最后由 baby1277 于 2024-9-17 14:00 编辑

沙发
作者: zlq_hysy    时间: 2024-7-9 21:58
感谢无私分享
作者: yyz2191958    时间: 2024-7-9 22:11
谢谢分享
作者: xinumiya33    时间: 2024-7-9 22:23
支持一波
作者: 新空气    时间: 2024-7-9 22:51
谢谢分享
作者: yc2428    时间: 2024-7-9 23:18
谢谢分享
作者: 201027149    时间: 2024-7-10 00:12
感谢楼主分享!
作者: wang1126    时间: 2024-7-10 05:59
谢谢分享
作者: ljq    时间: 2024-7-10 08:36
verygood
作者: mrzhonghb    时间: 2024-7-10 08:47
这个好,感谢分享
作者: promrhxq    时间: 2024-7-10 08:56
VHD文件创建差分的右键菜单 感谢分享好东东
作者: duboy    时间: 2024-7-10 10:25
玩vhd,这个很实用,感谢分享
作者: guong    时间: 2024-7-10 11:07
感谢分享
作者: ljm008    时间: 2024-7-10 12:15
很方便,感谢
作者: zqfeng01    时间: 2024-7-10 13:11
谢谢分享
作者: fegr    时间: 2024-7-10 14:33
感谢分享
作者: towlzj800801    时间: 2024-7-10 20:09
多谢分享!!!
作者: ppll-2030    时间: 2024-7-10 23:19
本帖最后由 ppll-2030 于 2024-7-10 23:26 编辑

差分一条命就可以了。不用这么复杂。

以前老是折腾vhd的时候,也搞过右键差分,加载,启动引导的东东。

我也分享一下我的右键差分。
哎呀,代码引用又把 "\" 给吞了。直接贴文本吧。其实用reg文件更方便写命令

```
@echo off
for %%a in (vhd, vhdx) do (
        reg add "HKCR\SystemFileAssociations\.%%a\shell\vdisk" /f /ve /t REG_SZ /d "差分VHD(X)"
        reg add "HKCR\SystemFileAssociations\.%%a\shell\vdisk" /f /v "icon" /t REG_SZ /d "shell32.dll,8"
        reg add "HKCR\SystemFileAssociations\.%%a\shell\vdisk\command" /f /ve /t REG_SZ /d "cmd /c for %%%%i in (\"%%1\") do echo create vdisk file=\"%%%%~dpni_0%%%%~xi\" parent=\"%%1\"|diskpart"
)

```

作者: ootd123    时间: 2024-7-11 12:06
很好,很實用,感謝分享。
作者: ootd123123    时间: 2024-7-11 13:04
多谢分享。。。
作者: 2011matrixvexx    时间: 2024-7-11 17:47
感谢楼主分享
作者: softwarezheng    时间: 2024-7-11 20:05
感恩天地!感谢未来
作者: ootd123    时间: 2024-7-12 10:39
谢谢制作分享!
作者: qkywan    时间: 2024-7-12 16:24
感谢技术的分享,谢谢
作者: ootd123123    时间: 2024-7-13 11:14
收藏备用
作者: jlshnlhj    时间: 2024-7-13 15:56
ppll-2030 发表于 2024-7-10 23:19
差分一条命就可以了。不用这么复杂。

以前老是折腾vhd的时候,也搞过右键差分,加载,启动引导 ...

这个好,优点:能区分是第几级查分。
作者: howempathy    时间: 2024-7-13 17:26
ppll-2030 发表于 2024-7-10 23:19
差分一条命就可以了。不用这么复杂。

以前老是折腾vhd的时候,也搞过右键差分,加载,启动引导 ...

你太历害了,高手
作者: baby1277    时间: 2024-7-13 21:13
ppll-2030 发表于 2024-7-10 23:19
差分一条命就可以了。不用这么复杂。

以前老是折腾vhd的时候,也搞过右键差分,加载,启动引导 ...

主要是为了隐藏批处理运行时一闪而过的黑框框,属于VBS和bat是合体。
可能是我比较懒,直接拿现成的右键菜单套用的,有空再根据网友的意见再改下。
作者: jlshnlhj    时间: 2024-7-14 09:17
本帖最后由 jlshnlhj 于 2024-7-14 09:20 编辑
baby1277 发表于 2024-7-9 21:39
鉴于这个菜单是自用,属于定制的,不符合实际使用情况,所以改成通用的,一次创建1个差分还是主流。        ...

有点不明白:差分磁盘(V) 与 重新差分磁盘(X)有何区别?
明白了,差分磁盘(V)是1楼的,重新差分磁盘(X)是2楼的。

作者: 远大的理想    时间: 2024-7-15 09:37
好东西,支持
作者: baby1277    时间: 2024-7-15 14:47
jlshnlhj 发表于 2024-7-14 09:17
有点不明白:差分磁盘(V) 与 重新差分磁盘(X)有何区别?
明白了,差分磁盘(V)是1楼的,重新差分磁 ...

差分磁盘:一次创建一个差分文件   举例:现有01   下次就02   再下次就是03
重新差分磁盘:把现有的删除后再新建。 举例:现有01 02    先把01  02删除   再新建新的01  02
作者: jlshnlhj    时间: 2024-7-16 09:32
baby1277 发表于 2024-7-15 14:47
差分磁盘:一次创建一个差分文件   举例:现有01   下次就02   再下次就是03
重新差分磁盘:把现有的删 ...

谢谢释疑,谢谢回复!
作者: powerdown2    时间: 2024-7-18 12:47
感谢无私奉献的人!
作者: towlzj800801    时间: 2024-7-19 23:40
感谢分享
作者: towlzj800801    时间: 2024-7-21 17:45
谢谢分享。
作者: dyc086    时间: 2024-7-23 20:43
感谢分享
作者: a66    时间: 2024-8-10 13:41
收藏
作者: doyou    时间: 2024-8-14 02:22
研究研究,感谢分享
作者: doyou    时间: 2024-8-14 21:53
学习学习
作者: doyou    时间: 2024-8-14 21:53
谢谢分享
作者: leitian72853    时间: 2024-9-4 17:42
谢谢分享
作者: yongge99992017    时间: 9 小时前
看看。感谢分享。

作者: xujinhong    时间: 8 小时前
下载备用,谢谢!




欢迎光临 无忧启动论坛 (http://bbs.c3.wuyou.net/) Powered by Discuz! X3.3