CODE: [Copy to clipboard]
@echo off
cls
echo.
echo WARNING: This program will erase all data on hard drive.
echo.
echo Back up your hard drive data before continuing!
echo.
echo Continue?
echo.
nset /u yn=$1
cls
if "%yn%" eq "YES" .or. "%yn%" eq "Y" goto checkdisk
goto end
:checkdisk
if "%Num%"=="" set Num=3
gdisk|nset.com /l%Num% HD=$1
count Num -
if "%HD%"=="" goto checkdisk
if "%HD%"=="No" count Num -
if %Num% eq 0 goto end
if %Num% eq 1 goto size
cls
echo.
if %Num% gt 1 echo Please enter the code in a hard disk: [1-%Num%]
echo.
nset /u in=$1
if "%in%" eq "" .or. "%in%" eq "0" goto end
if %in% lt 1 .or. %in% gt %Num% goto checkdisk
:size
echo.
if "%in%" == "" set in=1
gdisk %in%|nset.com /s. /l2 Mbytes=$6
if %Mbytes% ge 300000 goto PT1
if %Mbytes% ge 150000 goto PT2
if %Mbytes% ge 90000 goto PT3
if %Mbytes% ge 38000 goto PT4
if %Mbytes% ge 19000 goto PT5
if %Mbytes% ge 7000 goto PT6
if %Mbytes% ge 3800 goto PT7
gdisk %in% /del /all>nul
gdisk %in% /cre /pri /for /q /y /v:START>nul
gdisk %in% /act /p:1 /y>nul
goto end
:PT1
set START=8184
set SYSTEM=16368
set BACKUP=8184
count BACKUP +20
gdisk %in%|nset.com /s. /l2 Mbytes=$6
gdisk %in% /del /all>nul
gdisk %in% /cre /pri /sz:%START% /y>nul
gdisk %in% /cre /ext /y>nul
gdisk %in% /cre /log /sz:%SYSTEM% /y>nul
gdisk %in% /cre /log /sz:%BACKUP% /y>nul
count Mbytes -%START%
count Mbytes -%SYSTEM%
count Mbytes -%BACKUP%
gdisk %in% /cre /log /sz:33p /y>nul
gdisk %in%|nset.com /s. /l6 DATA=$6
gdisk %in%|nset.com /s. /l2 Mbytes=$6
gdisk %in% /del /all>nul
gdisk %in% /cre /pri /sz:%START% /for /q /y /v:START>nul
count Mbytes -%START%
gdisk %in% /act /p:1 /y>nul
gdisk %in% /cre /ext /y>nul
gdisk %in% /cre /log /sz:%SYSTEM% /for /q /y /v:SYSTEM>nul
gdisk %in% /cre /log /sz:%DATA% /for /q /y /v:DATA>nul
gdisk %in% /cre /log /sz:%DATA% /for /q /y /v:MEDIA>nul
gdisk %in% /cre /log /sz:%DATA% /for /q /y /v:GAMES>nul
gdisk %in% /cre /log /for /q /y /v:BACKUP /r>nul
goto end
:PT2
set START=8184
set SYSTEM=16368
set BACKUP=4092
count BACKUP +20
gdisk %in%|nset.com /s. /l2 Mbytes=$6
gdisk %in% /del /all>nul
gdisk %in% /cre /pri /sz:%START% /y>nul
gdisk %in% /cre /ext /y>nul
gdisk %in% /cre /log /sz:%SYSTEM% /y>nul
gdisk %in% /cre /log /sz:%BACKUP% /y>nul
count Mbytes -%START%
count Mbytes -%SYSTEM%
count Mbytes -%BACKUP%
gdisk %in% /cre /log /sz:33p /y>nul
gdisk %in%|nset.com /s. /l6 DATA=$6
gdisk %in%|nset.com /s. /l2 Mbytes=$6
gdisk %in% /del /all>nul
gdisk %in% /cre /pri /sz:%START% /for /q /y /v:START>nul
count Mbytes -%START%
gdisk %in% /act /p:1 /y>nul
gdisk %in% /cre /ext /y>nul
gdisk %in% /cre /log /sz:%SYSTEM% /for /q /y /v:SYSTEM>nul
gdisk %in% /cre /log /sz:%DATA% /for /q /y /v:DATA>nul
gdisk %in% /cre /log /sz:%DATA% /for /q /y /v:MEDIA>nul
gdisk %in% /cre /log /sz:%DATA% /for /q /y /v:GAMES>nul
gdisk %in% /cre /log /for /q /y /v:BACKUP /r>nul
goto end
:PT3
set START=8184
set SYSTEM=16368
set BACKUP=4092
count BACKUP +20
gdisk %in%|nset.com /s. /l2 Mbytes=$6
gdisk %in% /del /all>nul
gdisk %in% /cre /pri /sz:%START% /y>nul
gdisk %in% /cre /ext /y>nul
gdisk %in% /cre /log /sz:%SYSTEM% /y>nul
gdisk %in% /cre /log /sz:%BACKUP% /y>nul
count Mbytes -%START%
count Mbytes -%SYSTEM%
count Mbytes -%BACKUP%
gdisk %in% /cre /log /sz:50p /y>nul
gdisk %in%|nset.com /s. /l6 DATA=$6
gdisk %in%|nset.com /s. /l2 Mbytes=$6
gdisk %in% /del /all>nul
gdisk %in% /cre /pri /sz:%START% /for /q /y /v:START>nul
count Mbytes -%START%
gdisk %in% /act /p:1 /y>nul
gdisk %in% /cre /ext /y>nul
gdisk %in% /cre /log /sz:%SYSTEM% /for /q /y /v:SYSTEM>nul
gdisk %in% /cre /log /sz:%DATA% /for /q /y /v:DATA>nul
gdisk %in% /cre /log /sz:%DATA% /for /q /y /v:GAMES>nul
gdisk %in% /cre /log /for /q /y /v:BACKUP /r>nul
goto end
:PT4
set START=8184
set SYSTEM=8184
set BACKUP=4092
count BACKUP +20
gdisk %in%|nset.com /s. /l2 Mbytes=$6
gdisk %in% /del /all>nul
gdisk %in% /cre /pri /sz:%START% /for /q /y /v:START>nul
count Mbytes -%START%
gdisk %in% /act /p:1 /y>nul
gdisk %in% /cre /ext /y>nul
gdisk %in% /cre /log /sz:%SYSTEM% /for /q /y /v:SYSTEM>nul
count Mbytes -%SYSTEM%
count Mbytes -%BACKUP%
gdisk %in% /cre /log /sz:%Mbytes% /for /q /y /v:DATA>nul
gdisk %in% /cre /log /for /q /y /v:BACKUP /r>nul
goto end
:PT5
set START=2046
set SYSTEM=8184
set BACKUP=4092
count BACKUP +20
gdisk %in%|nset.com /s. /l2 Mbytes=$6
gdisk %in% /del /all>nul
gdisk %in% /cre /pri /sz:%START% /for /q /y /v:START>nul
count Mbytes -%START%
gdisk %in% /act /p:1 /y>nul
gdisk %in% /cre /ext /y>nul
gdisk %in% /cre /log /sz:%SYSTEM% /for /q /y /v:SYSTEM>nul
count Mbytes -%SYSTEM%
count Mbytes -%BACKUP%
gdisk %in% /cre /log /sz:%Mbytes% /for /q /y /v:DATA>nul
gdisk %in% /cre /log /for /q /y /v:BACKUP /r>nul
goto end
:PT6
set START=1023
set BACKUP=2046
count BACKUP +20
gdisk %in%|nset.com /s. /l2 Mbytes=$6
gdisk %in% /del /all>nul
gdisk %in% /cre /pri /sz:%START% /for /q /y /v:START>nul
count Mbytes -%START%
gdisk %in% /act /p:1 /y>nul
gdisk %in% /cre /ext /y>nul
count Mbytes -%BACKUP%
gdisk %in% /cre /log /sz:%Mbytes% /for /q /y /v:SYSTEM>nul
gdisk %in% /cre /log /for /q /y /v:BACKUP /r>nul
goto end
:PT7
set START=1023
set BACKUP=1023
count BACKUP +20
gdisk %in%|nset.com /s. /l2 Mbytes=$6
gdisk %in% /del /all>nul
gdisk %in% /cre /pri /sz:%START% /for /q /y /v:START>nul
count Mbytes -%START%
gdisk %in% /act /p:1 /y>nul
gdisk %in% /cre /ext /y>nul
count Mbytes -%BACKUP%
gdisk %in% /cre /log /sz:%Mbytes% /for /q /y /v:SYSTEM>nul
gdisk %in% /cre /log /for /q /y /v:BACKUP /r>nul
goto end
:end
set yn=
set in=
set Num=
set HD=
set START=
set SYSTEM=
set DATA=
set MEDIA=
set GAMES=
set BACKUP=
可能需改进: gdisk %in% /hide /p:partn-no /y