[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖
是这样吗?
   :main
    setlocal enabledelayedexpansion
    set flag=0
    for /f "skip=1 tokens=2,4-7" %%a in ('echo list disk^|diskpart^|find "磁盘"') do (
        if "%%b%%c" == "%%d%%e" (
        set flag=1
        set name=%%a
        for /f "delims=" %%m in ('more "c:\data.ini" ^| find "%%b"') do  echo,%%m  & set name2=%%m
    )
    )
    if !flag!==1 (
    if !name2! GTR 500 (goto bug500)
    if !name2! LSS 500 (goto min500)
    :bug500
    set /a name2=!name2!*1024/3
    set /a name3=!name2!*2
    ::删除所有分区
    C:\Intel\10\PACMD\partassist.exe /hd:%name% /del:all
    ::初始化磁盘
    C:\Intel\10\PACMD\partassist.exe /init:%name% /gpt
    ::在磁盘的第一块未分配空间中创建1T的三分之一容量分区
    C:\Intel\10\PACMD\partassist.exe /hd:%name% /cre /pri /size:auto /fs:ntfs /align /label:HDD1 /letter:auto
    C:\Intel\10\PACMD\partassist.exe /hd:%name% /resize:0 /reduce-right:!name3!
    C:\Intel\10\PACMD\partassist.exe /hd:%name% /cre /pri /size:auto /fs:ntfs /label:HDD2 /letter:auto
    C:\Intel\10\PACMD\partassist.exe /hd:%name% /resize:1 /reduce-right:!name2!
    C:\Intel\10\PACMD\partassist.exe /hd:%name% /cre /pri /size:auto /fs:ntfs /label:HDD3 /letter:auto
    msg %username% "自动分区完成!"
    goto main
    :min500
    ::删除所有分区
    C:\Intel\10\PACMD\partassist.exe /hd:%name% /del:all
    ::初始化磁盘
    C:\Intel\10\PACMD\partassist.exe /init:%name% /gpt
    ::将磁盘所有空间分配为一个分区
    C:\Intel\10\PACMD\partassist.exe /hd:%name% /cre /pri /size:auto /fs:ntfs /align /label:HDD /letter:auto
    msg %username% "自动分区完成!"
    goto main
    )

TOP

本帖最后由 idwma 于 2021-7-11 19:37 编辑

一定要用小数吗?那先把.去掉算完再把.加上
像这里的111.79用set/a 11179*1024/3得到3815765加个.变成38157.65
set /a name2=!name2:.=!*1024/3
set /a name3=!name2!*2
set name2=!name2:~0,-2!.!name2:~-2!
set name3=!name3:~0,-2!.!name3:~-2!

TOP

返回列表