|
5#

楼主 |
发表于 2011-5-22 08:53:36
|
只看该作者
回复 #4 2011cf 的帖子
谢了。这里还有一种方法:
参考:【原创】【更新】gdisk32快速 整数 分区工具 批处理
http://bbs.wuyou.net/forum.php?mod=viewthread&tid=138208
修改了上面的cmd,命名为gdisk.CMD,修改好的代码如下:
@echo off
set pro=gdisk32
:choicedisk
echo.
echo 磁盘明细列表:
%pro%
echo.
Set /P disk=请选择硬盘(Disk)序号,然后回车:
If /I '%disk%'=='1' goto MENU
If /I '%disk%'=='2' goto MENU
If /I '%disk%'=='3' goto MENU
echo.
ECHO 所选硬盘序号太大,请参看“磁盘明细列表”
goto choicedisk
:MENU
cls
color 4E
Echo.
Echo ┏━━━━━━━━━━━┓
Echo ┃ ┃
Echo ┃ GDisk 分区中文向导 ┃
Echo ┏━━━┫ ☆完美整数分区☆ ┣━━━┓
Echo ┃ ┃ 王钟 倾心制作 ┃ ┃
Echo ┃ ┃ ┃ ┃
Echo ┃ ┗━━━━━━━━━━━┛ ┃
Echo ┃ ┃
Echo ┃ 你选择了第 %disk% 个硬盘 ┃
Echo ┃ 1. 分区信息 ┃
Echo ┃ 2. 删除分区 ┃
Echo ┃ 3. 新建分区 ┃
Echo ┃ Q. 退出程序 ┃
Echo ┃ ┃
Echo ┗━━━━━━━━━━━━━━━━━━━┛
Echo.
Set Choice=
Set /P Choice= 请选择操作(1/2/3/Q),然后按回车键:
If /I '%Choice%'=='1' GOTO SEE
If /I '%Choice%'=='2' GOTO DELP
If /I '%Choice%'=='3' GOTO BEGIN
If /I '%Choice%'=='Q' GOTO END
Goto MENU
:SEE
cls
echo 请等待载入...磁盘 %disk% 明细列表:
%pro% %disk%
echo.
echo 按任意键返回主菜单
pause>nul
goto menu
:DELP
cls
echo.
echo 请等待载入...磁盘 %disk% 明细列表:
%pro% %disk%
echo.
echo 输入要删除的分区序号,输入"ALL"删除所有分区:
set DP=
Set /P DP=:
set PDP=/P:%DP%
if /i '%DP%'=='all' set PDP=/all
echo.
echo 正在删除 %DP% 分区...
echo.
%pro% %disk% /del %PDP%
if '%PDP%'=='/all' goto menu
echo.
Set /P todel=:所选分区已删除,是否继续删除分区(Y/N)?
if /i '%todel%'=='Y' goto DELP
goto menu
:BEGIN
cls
setlocal enabledelayedexpansion
echo 请等待载入...磁盘 %disk% 明细列表:
%pro% %disk%
echo.
set size=
Set /P size=输入ud区大小(单位:M,如20):
%pro% %disk% /cre /pri /sz:%size% /for /q
echo.
echo 输入各分区大小(单位:GB),空格或","分开,最后一个分区不输:
echo.
echo 例1:要分5G,15G,50G,(余)50G 共4分区,输入前3个:5 15 50(Enter)
echo.
echo 已有分区(无论几个)用一个 0 表示:
echo.
echo 例2:主、2逻辑分区已存在,再分逻辑分区5G,及余下10G,输入:0 5(Enter)
echo ▲
set size=
Set /P size=各分区大小:
echo.
echo 输入"NTFS"或"FAT"进行相应格式化,输入"N"或省略则不格式化:
set frmt=
Set /P frmt=:
set frmty=
If /I '%frmt%'=='ntfs' set frmty=/for /q /ntfs&&set ss=1024
If /I '%frmt%'=='fat' set frmty=/for /q&&set ss=1028-8
echo 开始分区,稍等...
echo 分区过程信息:
for /f "tokens=1,2,3,4,5,6,7,8,9 delims=, " %%c in ("%size%") do (
set /A cp=%%c*%ss%
%pro% %disk% /cre /pri /sz:!cp! %frmty%
%pro% %disk% /act /p:2
%pro% %disk% /cre /ext
for %%i in (%%d,%%e,%%f,%%g,%%h,%%i,%%j,%%k) do (
set /A op=%%i*%ss%
%pro% %disk% /cre /log /sz:!op! %frmty%
))
%pro% %disk% /cre /log /end %frmty%
%pro% %disk% /del /p:1
echo.
echo 分区完成!
echo.
echo 按任意键返回主菜单
pause>nul
goto menu
:END |
|