命令是干什么的
diskpart 支持把一系列分区命令写进文本文件,用 diskpart /s 脚本.txt 一次性执行,全程无人交互。这是批量装机、云主机初始化与远程运维的标准做法:同一份脚本用在多台机器上,分区结构保持一致。
为什么脚本要写得防御性强
diskpart 脚本没有事务也没有回滚:select disk 之后的 clean 会立即生效,后续命令失败也不会撤销前面的操作。因此脚本应先 list disk 与 list partition 留档,关键步骤前后各加一次列表复核,让过程可追溯。
基本信息
| 适用平台 | Windows Server 2003 及以后、Windows 7/10/11(diskpart 系统内置) |
|---|---|
| 权限要求 | 管理员权限 |
| 语法 | diskpart /s 脚本文件.txt,脚本内每个命令一行,末尾写 exit |
| 要点 | 命令即写即执行,没有回滚;报错只给出出错行号 |
典型使用场景
- 批量装机:多台机器用同一份脚本完成分区与格式化
- 云主机初始化脚本中预置数据盘的分区结构
- 无人值守场景下替代交互式 diskpart
- 把复杂分区方案固化成可复用文件,减少手工误差
- 演练环境快速重建统一的磁盘布局
脚本内容与执行方式
脚本内容与执行方式
:: dp.txt 内容(每个命令一行)
:: list disk
:: select disk 1
:: clean
:: convert gpt
:: create partition primary
:: format fs=ntfs quick label=Data
:: assign letter=D
:: exit
diskpart /s dp.txt常用命令读法
| 命令 | 作用 | 注意 |
|---|---|---|
| list disk | 列出磁盘与容量 | 脚本里先输出留档,便于事后复盘 |
| select disk n | 选中目标磁盘 | 后续命令都作用于它 |
| clean | 清除分区表 | 立即生效且不可撤销 |
| convert gpt | 转换为 GPT 分区表 | 超过 2TB 的磁盘必须使用 |
| create partition primary | 创建主分区 | 可用 size= 指定大小 |
| format fs=ntfs quick | 快速格式化 | 不加 quick 会完整格式化,耗时很长 |
| assign letter= | 分配盘符 | 盘符已被占用会失败 |
脚本报错通常只提示出错行号,不指出语义问题:先在测试机上把流程完整跑通,再应用到生产机器。
select disk 一旦选错编号,clean 会立即抹掉该盘现有分区且无法恢复;脚本执行前务必按容量与型号确认目标磁盘。执行完成后建议再跑一次 list disk 与 list volume 复核最终结构,并把脚本纳入版本管理,磁盘编号等环境参数单独维护。