无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站投放广告、加入VIP会员,请联系 微信:wuyouceo
12
返回列表 发新帖
楼主: q6329
打印 上一主题 下一主题

有哪个可以对初装系统的硬盘能一键自动分区的软件

[复制链接]
31#
发表于 2025-12-7 19:12:31 | 只看该作者
回复

使用道具 举报

32#
发表于 昨天 11:47 | 只看该作者
学习了
回复

使用道具 举报

33#
发表于 昨天 12:49 | 只看该作者
好像windows下面就有,叫做diskpart,这个有批处理可以自动分区。
回复

使用道具 举报

34#
发表于 昨天 12:53 | 只看该作者
@echo off
setlocal enabledelayedexpansion

:: 设置目标磁盘编号(请根据实际情况修改)
set DISK_NUMBER=1

:: 临时文件路径
set SCRIPT=%TEMP%\diskpart_script.txt
set OUTPUT=%TEMP%\disk_info.txt

:: 第一步:获取磁盘总容量(MB)
echo 获取磁盘 %DISK_NUMBER% 的信息...
echo list disk > "%SCRIPT%"
diskpart /s "%SCRIPT%" > "%OUTPUT%"

:: 解析磁盘容量(假设输出格式如:Disk 1    Online  512000 MB ...)
for /f "tokens=1-4" %%a in ('type "%OUTPUT%" ^| findstr /r /c:"^ *Disk %DISK_NUMBER% "') do (
    set TOTAL_MB=%%d
)

:: 检查是否成功读取容量
if not defined TOTAL_MB (
    echo 错误:无法获取磁盘 %DISK_NUMBER% 的容量。请确认磁盘存在且未被占用。
    pause
    exit /b 1
)

:: 去掉可能的逗号(某些系统输出带千位分隔符)
set TOTAL_MB=%TOTAL_MB:,=%

echo 磁盘 %DISK_NUMBER% 总容量:%TOTAL_MB% MB

:: 计算各分区大小(整数,向下取整)
set /a P1_SIZE = TOTAL_MB * 30 / 100
set /a P2_SIZE = TOTAL_MB * 20 / 100
set /a P3_SIZE = TOTAL_MB * 20 / 100
set /a P4_SIZE = TOTAL_MB - P1_SIZE - P2_SIZE - P3_SIZE

:: 确保第四个分区至少有 100 MB(防止因取整导致为0)
if %P4_SIZE% LSS 100 (
    echo 警告:剩余空间过小,调整第四个分区为最小值 100 MB。
    set /a P4_SIZE = 100
    :: 可选:重新分配或报错,此处简化处理
)

echo 分区计划:
echo   分区1: %P1_SIZE% MB (约30%%)
echo   分区2: %P2_SIZE% MB (约20%%)
echo   分区3: %P3_SIZE% MB (约20%%)
echo   分区4: %P4_SIZE% MB (剩余)

:: 构建 diskpart 脚本
echo select disk %DISK_NUMBER% > "%SCRIPT%"
echo clean >> "%SCRIPT%"
echo create partition primary size=%P1_SIZE% >> "%SCRIPT%"
echo format fs=ntfs quick label="Part1" >> "%SCRIPT%"
echo assign >> "%SCRIPT%"
echo create partition primary size=%P2_SIZE% >> "%SCRIPT%"
echo format fs=ntfs quick label="Part2" >> "%SCRIPT%"
echo assign >> "%SCRIPT%"
echo create partition primary size=%P3_SIZE% >> "%SCRIPT%"
echo format fs=ntfs quick label="Part3" >> "%SCRIPT%"
echo assign >> "%SCRIPT%"
echo create partition primary size=%P4_SIZE% >> "%SCRIPT%"
echo format fs=ntfs quick label="Part4" >> "%SCRIPT%"
echo assign >> "%SCRIPT%"

:: 执行分区
echo.
echo 开始对磁盘 %DISK_NUMBER% 进行分区...
diskpart /s "%SCRIPT%"

:: 清理临时文件
del "%SCRIPT%" "%OUTPUT%" 2>nul

echo.
echo 分区操作完成!
pause
回复

使用道具 举报

35#
发表于 昨天 17:18 | 只看该作者
DiskGenius
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|捐助支持|无忧启动 ( 闽ICP备05002490号-1 )

闽公网安备 35020302032614号

GMT+8, 2025-12-18 15:03

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表