四、其它
1、Win8 X64环境下,执行功能3,提示“没有足够空间完成操作”,请
哪位专家给个权威解释。固定容量vhd磁盘,不支持动态磁盘分区。
2、现有资料关于磁盘分区 ID ,请哪位专家给科普下。
3、在我的机子上,UEFI+GPT与BIOS+MBR相比,自检与引导过程快大约2-3
秒,请问是个例吗?
4、欢迎二次开发编程,欢迎自定制开发编程!
@echo off&mode con lines=25 cols=90
color 0a
setlocal enabledelayedexpansion
title DiskPart分区与vhd创建工具_马宝银倾力提供
::2013年10月20日建议更新,加上如下内容
::加上程序运行密码,防止哪个人乱操作,导致磁盘灾难,密码是当前月份+当前日期
echo.
@echo ------------------------------------------------------------------------------
set /p SecurityCode=*****请输入程序运行密码*****
set /a s=%date:~5,2%+%date:~8,2%
if not !SecurityCode!==!s! (
echo 不好意思,密码错误!直接退出
pause>nul
exit)
echo ------------------------------------------------------------------------------
set /p op=请输入工作任务类型:1-7----
for /l %%i in (1,1,7) do (
if !op!==%%i (
goto ValidInput)
)
echo 这么简单的选择题都会错,输入数字1-7有这么难吗,请重新输入
echo ------------------------------------------------------------------------------
goto opInput
:ValidInput
if !op!==7 goto End
echo list disk>%~dp0\DiskPart.txt
echo exit>>%~dp0\DiskPart.txt
diskpart /s %~dp0\DiskPart.txt
echo ------------------------------------------------------------------------------
if !op!==1 (
set /p choiceDisk_1=请输入要操作的磁盘编号---
echo select disk !choiceDisk_1!>%~dp0\DiskPart.txt
echo detail disk>>%~dp0\DiskPart.txt
echo exit>>%~dp0\DiskPart.txt
diskpart /s %~dp0\DiskPart.txt
echo select disk !choiceDisk_1!>%~dp0\DiskPart.txt
echo clean>>%~dp0\DiskPart.txt
echo create partition primary>>%~dp0\DiskPart.txt
echo format fs=ntfs quick>>%~dp0\DiskPart.txt
::可在此指定盘符
echo assign>>%~dp0\DiskPart.txt
echo active>>%~dp0\DiskPart.txt
echo exit>>%~dp0\DiskPart.txt
set /p bProceed_1=你选择对磁盘^<!choiceDisk_1!^>进行分区操作,请确认是否继续,是y,非n---
if not !bProceed_1!==y goto End
::可在此加暂停,在本批处理目录查看DiskPart.txt内容,还可手动改盘符,保存后生效
diskpart /s %~dp0\DiskPart.txt
goto End
)
if !op!==2 (
set /p choiceDisk_2=请输入要操作的磁盘编号---
echo select disk !choiceDisk_2!>%~dp0\DiskPart.txt
echo detail disk>>%~dp0\DiskPart.txt
echo exit>>%~dp0\DiskPart.txt
diskpart /s %~dp0\DiskPart.txt
set /p SizePartition_Op2_P1=输入第一个分区容量,剩余所有为第二分区,单位M----
echo select disk !choiceDisk_2!>%~dp0\DiskPart.txt
echo clean>>%~dp0\DiskPart.txt
echo create partition primary size=!SizePartition_Op2_P1!>>%~dp0\DiskPart.txt
echo format fs=ntfs quick>>%~dp0\DiskPart.txt
::可在此预先指定盘符
echo assign>>%~dp0\DiskPart.txt
echo active>>%~dp0\DiskPart.txt
echo create partition primary>>%~dp0\DiskPart.txt
echo format fs=ntfs quick>>%~dp0\DiskPart.txt
::可在此预先指定盘符
echo assign>>%~dp0\DiskPart.txt
echo list partition>>%~dp0\DiskPart.txt
echo exit>>%~dp0\DiskPart.txt
::可在此加暂停,在本批处理目录查看DiskPart.txt内容,还可手动改盘符,保存后生效
set /p bProceed_2=你选择对磁盘^<!choiceDisk_2!^>进行分区操作,请确认是否继续,是y,非n---
if not !bProceed_2!==y goto End
diskpart /s %~dp0\DiskPart.txt
goto End
)
if !op!==3 (
set /p choiceDisk_3=请输入要操作的磁盘编号---
echo select disk !choiceDisk_3!>%~dp0\DiskPart.txt
echo detail disk>>%~dp0\DiskPart.txt
echo exit>>%~dp0\DiskPart.txt
diskpart /s %~dp0\DiskPart.txt
set /p SizePartition_Op3_P3=输入第一数据分区容量,剩余所有为第二数据分区,单位M----
echo select disk !choiceDisk_3!>%~dp0\DiskPart.txt
echo clean>>%~dp0\DiskPart.txt
echo convert gpt>>%~dp0\DiskPart.txt
echo create partition primary>>%~dp0\DiskPart.txt
echo format fs=ntfs quick>>%~dp0\DiskPart.txt
::可在此预先指定盘符
echo assign>>%~dp0\DiskPart.txt
echo list partition>>%~dp0\DiskPart.txt
echo exit>>%~dp0\DiskPart.txt
::可在此加暂停,在本批处理目录查看DiskPart.txt内容,还可手动改盘符,保存后生效
set /p bProceed_3=你选择对磁盘^<!choiceDisk_3!^>进行分区操作,请确认是否继续,是y,非n---
if not !bProceed_3!==y goto End
diskpart /s %~dp0\DiskPart.txt
goto End
)
if !op!==4 (
set /p fileVhd=请输入要创建的vhd文件名(加完整路径,示例:e:\backup\x.vhd)---
set /p SizePartition_Op4_P1=输入要创建的vhd文件容量,最好固定容量模式,单位M----
echo create vdisk file="!fileVhd!" maximum=!SizePartition_Op4_P1! type=fixed>%~dp0\DiskPart.txt
echo select vdisk file="!fileVhd!">>%~dp0\DiskPart.txt
echo attach vdisk>>%~dp0\DiskPart.txt
::默认偏移量1024K。
echo create part pri offset=1024>>%~dp0\DiskPart.txt
echo format fs=ntfs quick>>%~dp0\DiskPart.txt
::可在此预先指定盘符,为建立引导项打基础,建立引导项应该比较Easy了。
echo assign>>%~dp0\DiskPart.txt
echo list partition>>%~dp0\DiskPart.txt
echo exit>>%~dp0\DiskPart.txt
diskpart /s %~dp0\DiskPart.txt
goto End
)
if !op!==5 (
set /p fileVhd_5=请输入要卸载的vhd文件名(加完整路径,示例:e:\backup\x.vhd)---
echo select vdisk file="!fileVhd_5!">%~dp0\DiskPart.txt
echo detach vdisk>>%~dp0\DiskPart.txt
echo list vol>>%~dp0\DiskPart.txt
echo exit>>%~dp0\DiskPart.txt
diskpart /s %~dp0\DiskPart.txt
goto End
)
if !op!==6 (
:AssignLabel
cls
echo list vol>%~dp0\DiskPart.txt
echo exit>>%~dp0\DiskPart.txt
diskpart /s %~dp0\DiskPart.txt
echo ------------------------------------------------------------------------------