|
本帖最后由 mrzhonghb 于 2022-4-13 18:53 编辑
无聊整一个VHD(X)扩容的批处理,最好在根目录新建一个文件夹,文件夹和VHD(X)命名不要有中文和空格,把批处理和VHD(X)放进去,只放一个VHD(X)文件。纯属拼凑的,自己测试暂时没有不良反应。
- @echo off
- color 1f
- PUSHD %~dp0
- echo 检查管理员权限
- >NUL 2>&1 REG.exe query "HKU\S-1-5-19" || (
- ECHO SET UAC = CreateObject^("Shell.Application"^) > "%TEMP%\Getadmin.vbs"
- ECHO UAC.ShellExecute "%~f0", "%1", "", "runas", 1 >> "%TEMP%\Getadmin.vbs"
- CSCRIPT //Nologo "%TEMP%\Getadmin.vbs"& DEL /f /q "%TEMP%\Getadmin.vbs" 2>NUL& Exit)
- echo.
- echo --已获取管理员权限
- echo.
- echo --VHD(X)文件和本批处理放一起,只能放一个VHD(X)文件
- echo --文件名和路径 最好不要有中文和空格
- echo.
- echo --注意,下面输入的数字是VHD(X)扩大后的总容量,不是增加的那一部分容量。
- echo --输入的数字一定要比原始VHD(X)更大,比如原始VHD(X)为30G,输入的数字必须大于30。
- echo.
- set g=1
- set /p g=请输入扩大以后的总容量(G),比如想要扩大到100G,就输入100:
- set /a kj=%g%*1024
- for /r %%d in (*.vhdx,*.vhd) do (set vx=%%d)
- (echo SEL VDISK FILE=%vx% & echo EXPAND VDISK MAXIMUM=%kj%)|diskpart.exe
- echo --已成功将VHD(X)的总空间扩大到%g%G,但增加的空间还是"未分配"状态。
- echo.
- echo --按任意键 挂载VHD(X),
- pause
- (echo select vdisk file="%vx%" & echo attach vdisk & echo list disk)|diskpart.exe
- set d=x & set p=y
- set /p d=请输入要扩展分区的VHD(X)磁盘编号数字:
- cls
- cmd /c "echo select disk %d% & echo list partition"|diskpart.exe
- echo.
- set /p p=请输入要扩展的分区编号数字:
- cls
- cmd /c "echo select disk %d% & echo select partition %p% & echo extend"|diskpart.exe
- echo --已成功将"未分配"空间扩展到到VHD(X)中
- echo.
- echo --按任意键 卸载VHD(X) 并退出。
- echo.
- pause
- (echo select vdisk file="%vx%" & echo detach vdisk)|diskpart.exe
- exit.
复制代码
|
评分
-
查看全部评分
|