无忧启动论坛

 找回密码
 注册
搜索
最纯净的「微PE装机优盘」UEPON大师作品系统gho:最纯净好用系统下载站数据恢复、数据保护、视频编辑
Win To Go 极致利器(IXUNCIS固态U盘)无忧启动网成立20周年!广告联系 QQ:184822951 微信:wuyouceo
查看: 2421|回复: 8

[教程] cmd批处理脚本,一键挂载/分离/格式化/创建,VHD虚拟硬盘

[复制链接]
发表于 2019-9-2 13:34:00 | 显示全部楼层 |阅读模式
本帖最后由 荣耀 于 2019-9-2 13:57 编辑

你可以创建vhd虚拟硬盘,用来在虚拟机上封装windows系统
windows封装制作VHD专用脚本,简略你所有繁琐的操作。




  1. @echo off
  2. >nul 2>&1 "%SYSTEMROOT%\system32\cacls.exe" "%SYSTEMROOT%\system32\config\system"
  3. if '%errorlevel%' NEQ '0' (
  4. goto UACPrompt
  5. ) else ( goto gotAdmin )
  6. :UACPrompt
  7. echo Set UAC = CreateObject^("Shell.Application"^) > "%temp%\getadmin.vbs"
  8. echo UAC.ShellExecute "%~s0", "", "", "runas", 1 >> "%temp%\getadmin.vbs"
  9. "%temp%\getadmin.vbs"
  10. exit /B
  11. :gotAdmin
  12. if exist "%temp%\getadmin.vbs" ( del "%temp%\getadmin.vbs" )
  13. if exist %tmp%\vhdconf (del /f /q %tmp%\vhdconf)
  14. title www.nat.ee
  15. mode con: cols=45 lines=10
  16. color 2F
  17. pushd "%~dp0"
  18. for /f "delims=" %%i in ('dir /b %~dp0^|findstr ".*\.vhd"') do (set name=%%i)
  19. :menu
  20. cls
  21. echo.
  22. echo 1.挂载 %name%
  23. echo.
  24. echo 2.分离 %name%
  25. echo.
  26. echo 3.创建 VHD
  27. echo.
  28. echo 4.格式化 %name%
  29. echo.
  30. choice /C:1234 /N /M "请输入你的选择[1,2,3,4]":
  31. if errorlevel 4 goto:vhdformat
  32. if errorlevel 3 goto:vhdadd
  33. if errorlevel 2 goto:vhdoff
  34. if errorlevel 1 goto:vhdon
  35. :vhdon
  36. echo SELECT VDISK FILE= "%~dp0%name%" >%tmp%\vhdconf
  37. echo ATTACH VDISK NOERR >>%tmp%\vhdconf
  38. echo LIST DISK >>%tmp%\vhdconf
  39. DISKPART /s %tmp%\vhdconf > nul
  40. exit
  41. :vhdoff
  42. echo SELECT VDISK FILE= "%~dp0%name%" >%tmp%\vhdconf
  43. echo ATTACH VDISK NOERR >>%tmp%\vhdconf
  44. echo DETACH VDISK >>%tmp%\vhdconf
  45. echo LIST DISK >>%tmp%\vhdconf
  46. DISKPART /s %tmp%\vhdconf > nul
  47. exit
  48. :vhdadd
  49. cls
  50. echo.
  51. echo 自定义vhd虚拟硬盘文件名称与大小,按回车
  52. echo.
  53. set /p newname=文件名:
  54. echo.
  55. set /p value=大小(G):
  56. set /a mx = (value)*(1024)
  57. echo CREATE VDISK FILE="%~dp0%newname%.vhd" TYPE=FIXED MAXIMUM=%mx% >>%tmp%\vhdconf
  58. echo SELECT VDISK FILE="%~dp0%newname%.vhd" >>%tmp%\vhdconf
  59. echo ATTACH VDISK NOERR >>%tmp%\vhdconf
  60. echo CLEAN >>%tmp%\vhdconf
  61. echo CREATE PARTITION PRIMARY >>%tmp%\vhdconf
  62. echo FORMAT FS=NTFS QUICK >>%tmp%\vhdconf
  63. echo ASSIGN >>%tmp%\vhdconf
  64. DISKPART /s %tmp%\vhdconf > nul
  65. exit
  66. :vhdformat
  67. echo SELECT VDISK FILE="%~dp0%name%" >>%tmp%\vhdconf
  68. echo ATTACH VDISK NOERR >>%tmp%\vhdconf
  69. echo CLEAN >>%tmp%\vhdconf
  70. echo CREATE PARTITION PRIMARY >>%tmp%\vhdconf
  71. echo FORMAT FS=NTFS QUICK >>%tmp%\vhdconf
  72. echo ASSIGN >>%tmp%\vhdconf
  73. DISKPART /s %tmp%\vhdconf > nul
  74. exit
复制代码


将此代码保存为.bat 即可。
当前脚本目录下,只能存在一个vhd文件。

原创,转载请注明此帖子链接!
荣耀&制作

评分

参与人数 3无忧币 +11 收起 理由
易广白 + 5 很给力!
maomihuacha + 1 很给力!
whyme22 + 5 很给力!

查看全部评分

发表于 2019-9-2 15:43:00 | 显示全部楼层
谢谢分享
回复

使用道具 举报

发表于 2019-9-2 17:52:37 | 显示全部楼层
VHD 现在很少接触,学习一下。
回复

使用道具 举报

发表于 2019-9-2 20:28:23 | 显示全部楼层
本帖最后由 江南一根葱 于 2019-9-2 20:29 编辑

这样.gif 这不是有现成的软件么,我只是麻木地敲回车挂载改文件,卸载后启虚拟机。。

我是这样用的

点评

像你这个这样,我也可以把挂载和分离做成,执行命令后返回菜单,对了,我这个菜单输出数字就能执行,不用再按回车。  详情 回复 发表于 2019-9-2 20:37
相对于程序,我这个是bat编写的,任何人都可以查阅和修改。  详情 回复 发表于 2019-9-2 20:30
回复

使用道具 举报

 楼主| 发表于 2019-9-2 20:30:19 | 显示全部楼层
江南一根葱 发表于 2019-9-2 20:28
这不是有现成的软件么,我只是麻木地敲回车挂载改文件,卸载后启虚拟机。。

相对于程序,我这个是bat编写的,任何人都可以查阅和修改。
回复

使用道具 举报

 楼主| 发表于 2019-9-2 20:37:38 | 显示全部楼层
江南一根葱 发表于 2019-9-2 20:28
这不是有现成的软件么,我只是麻木地敲回车挂载改文件,卸载后启虚拟机。。

我是这样用的

像你这个这样,我也可以把挂载和分离做成,执行命令后返回菜单,对了,我这个菜单输出数字就能执行,不用再按回车。
回复

使用道具 举报

发表于 2020-10-8 11:18:54 | 显示全部楼层
谢谢分享
回复

使用道具 举报

发表于 2020-11-3 12:36:37 | 显示全部楼层
这个要学习,有好处
回复

使用道具 举报

发表于 2020-11-25 08:51:22 | 显示全部楼层
刚入门,需要好好学习了。
回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2020-12-5 21:57

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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