麻烦高手解释一下,能每行都解择更好,那几个IF把我弄晕了,这是一个分区的批处理
echo 输入各分区大小(单位:GB),空格或","分开,最后一个分区不输:
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%
GDISK32 1 /cre /pri /sz:!cp! %frmty%
GDISK32 1 /act /p:1
GDISK32 1 /cre /ext
for %%i in (%%d,%%e,%%f,%%g,%%h,%%i,%%j,%%k) do (
set /A op=%%i*%ss%
GDISK32 1 /cre /log /sz:!op! %frmty%
))
GDISK32 1 /cre /log /end %frmty%
echo.
echo 分区完成!
echo 输入各分区大小(单位:GB),空格或","分开,最后一个分区不输:
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%
GDISK32 1 /cre /pri /sz:!cp! %frmty%
GDISK32 1 /act /p:1
GDISK32 1 /cre /ext
for %%i in (%%d,%%e,%%f,%%g,%%h,%%i,%%j,%%k) do (
set /A op=%%i*%ss%
GDISK32 1 /cre /log /sz:!op! %frmty%
))
GDISK32 1 /cre /log /end %frmty%
echo.
echo 分区完成!

