无忧启动论坛

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

[分享] 快速安装VHD系统的批处理

[复制链接]
跳转到指定楼层
1#
本帖最后由 baby1277 于 2025-2-26 23:31 编辑

帮助新手快速安装VHD系统,傻瓜式操作比WinNTSetup更简单。

简单的测试下没有发现问题,若有问题或者建议跟帖留言。

  1. @echo off
  2. title (快速安装VHD系统 By baby1277 2025.2.26)
  3. set wim=%~1
  4. if defined wim goto wimok
  5. :vhdset
  6. cls&echo.
  7. if defined cuo set cuo=&echo.&echo 安装遇到了问题,不支持的系统映像。&echo.
  8. echo 请将Wim或者Esd映像文件拖拽进来后按回车键
  9. echo.
  10. set /p wim=
  11. :wimok
  12. for /f "delims=" %%i in ('echo %wim%') do set path1=%%~fi
  13. set path2=%path1:(=%
  14. if not "%path2%"=="%path1%" set cuo=0&goto vhdset
  15. for /f "delims=" %%i in ('echo %wim%') do (
  16. if /i not "%%~xi"==".wim" if /i not "%%~xi"==".esd" set cuo=0&goto vhdset
  17. if not exist "%%~fi" goto vhdset
  18. set wim2=%%~fi
  19. set wimN=%%~ni
  20. )
  21. :: 获取Wim/Esd映像文件卷号
  22. for /f "tokens=1-4" %%i in ('dism /get-wiminfo /wimfile:"%wim2%"') do (
  23. if "%%i"=="索引:" set mod=%%j
  24. if /i "%%l"=="Ultimate" set ver2=旗舰版&goto ver1
  25. if /i "%%l"=="Enterprise" set ver2=企业版&goto ver1
  26. if "%%l"=="企业版" set ver2=企业版&goto ver1
  27. if /i "%%l"=="professional" set ver2=专业版&goto ver1
  28. if "%%l"=="专业版" set ver2=专业版&goto ver1
  29. )
  30. :ver1
  31. if not defined mod set cuo=0&goto vhdset
  32. :: 设置VHD文件位置 (判断映像文件的系统版本)
  33. echo "%wimN%"|find /i "win7">nul&&set nx=.vhd
  34. for %%i in (8 10 11) do echo "%wimN%"|find /i "win%%i">nul&&set nx=.vhdx
  35. for %%i in (8 10 11) do echo "%wimN%"|find /i "windows%%i">nul&&set nx=.vhdx
  36. for /f "tokens=2-4" %%i in ('dism /get-wiminfo /wimfile:"%wim2%"^|find "名称"') do (
  37. echo %%i%%j%%k|find /i "win7">nul&&set nx=.vhd
  38. for %%a in (8 10 11) do echo "%%i%%j%%k"|find /i "win%%a">nul&&set nx=.vhdx
  39. for %%b in (8 10 11) do echo "%%i%%j%%k"|find /i "windows%%b">nul&&set nx=.vhdx
  40. if %%j equ 7 set nx=.vhd
  41. if %%j gtr 7 set nx=.vhdx
  42. )
  43. if not defined nx set cuo=0&goto vhdset
  44. set "vhdPath=%~d0\WinVHD%random:~-2%%nx%"
  45. :: VHD磁盘卷标
  46. set vhdname=WindowsVHD
  47. :: VHD文件大小
  48. set vhdSize=51200
  49. cls
  50. echo.
  51. echo.
  52. echo.
  53. echo ===========请确认VHD参数===============
  54. echo.
  55. echo VHD磁盘卷标:%vhdname%
  56. echo.
  57. echo VHD文件位置:%vhdPath%
  58. echo.
  59. echo VHD文件大小:%vhdSize% MB
  60. echo.
  61. echo Wim/Esd位置:%wim2%
  62. echo.
  63. echo Wim/Esd卷号:%mod% %ver2%
  64. echo.
  65. echo =====按任意键继续安装,并重启系统。=====
  66. pause>nul
  67. :: 创建并加载VHD磁盘
  68. for %%i in (R S T U V W Y Z) do if not exist %%i: set pan=%%i
  69. (echo create vdisk file="%vhdPath%" maximum=%vhdSize% type=expandable&^
  70. echo Select vdisk file="%vhdPath%"&^
  71. echo attach vdisk&^
  72. echo create partition primary&^
  73. echo format quick fs=ntfs label="%vhdname%"&^
  74. echo assign letter=%pan%:&^
  75. echo exit)|diskpart
  76. :: 应用系统镜像
  77. dism /apply-image /imagefile:"%wim2%" /index:%mod% /applydir:%pan%:\
  78. :: 配置引导记录
  79. bcdboot %pan%:\Windows /l zh-ch
  80. if %errorlevel% equ 0 set vhdSetup=ok
  81. :: 卸载VHD
  82. (echo select vdisk file="%vhdPath%"&echo detach vdisk)|diskpart
  83. :: 安装成功设置引导程序并重启系统
  84. if not defined vhdSetup goto cuo2
  85. bcdedit /timeout 3
  86. bcdedit /set {bootmgr} Locale zh-cn
  87. Shutdown -r -f -t 0
  88. set cuo=&exit
  89. :: 安装失败返回
  90. :cuo2
  91. del /f /q %vhdPath%
  92. set cuo=0&goto vhdset
复制代码




快速安装VHD系统(修正版).zip (1.49 KB, 下载次数: 20)
2#
 楼主| 发表于 3 天前 | 只看该作者
本帖最后由 baby1277 于 2025-2-25 07:43 编辑

支持拖拽方式安装
回复

使用道具 举报

3#
发表于 3 天前 来自手机 | 只看该作者
沙发
回复

使用道具 举报

4#
发表于 3 天前 | 只看该作者
板凳支持
回复

使用道具 举报

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

使用道具 举报

6#
发表于 昨天 09:39 | 只看该作者
谢谢分享,不过没有说明可用于哪些系统?
回复

使用道具 举报

7#
发表于 昨天 15:07 | 只看该作者
感谢分享
回复

使用道具 举报

8#
发表于 昨天 18:40 | 只看该作者
好,方便易用
回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2025-2-27 01:16

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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