本文目录导读:

Windows 系统(PowerShell 脚本)
使用 Format-Volume 命令(推荐)
# 格式化指定盘符 $driveLetter = "D:" # 修改为你要格式化的盘符 $label = "Data" # 卷标 $filesystem = "NTFS" # 文件系统类型:NTFS, FAT32, exFAT # 卸载卷并格式化 Format-Volume -DriveLetter $driveLetter -FileSystem $filesystem -NewFileSystemLabel $label -Confirm:$false
通过盘符路径格式化
# 使用盘符路径 $drive = Get-Volume -DriveLetter D $drive | Format-Volume -FileSystem NTFS -NewFileSystemLabel "MyData" -Force
使用 format 命令(兼容旧系统)
@echo off :: 格式化 D 盘 (注意:/Q 快速格式化,/Y 自动确认) format D: /FS:NTFS /Q /V:LabelName /Y
Linux 系统(Shell 脚本)
使用 mkfs 命令
#!/bin/bash # 格式化指定分区(/dev/sdb1) DEVICE="/dev/sdb1" FILESYSTEM="ext4" # ext4, xfs, ntfs, fat32 LABEL="mydata" # 先卸载分区(如果已挂载) umount $DEVICE 2>/dev/null # 格式化 mkfs -t $FILESYSTEM -L $LABEL $DEVICE # 验证 blkid $DEVICE
更安全的方式(检查并确认)
#!/bin/bash
DEVICE="/dev/sdb1"
# 确认设备存在
if [ ! -b "$DEVICE" ]; then
echo "设备 $DEVICE 不存在"
exit 1
fi
# 卸载挂载点
umount $DEVICE 2>/dev/null
# 询问确认(交互式)
read -p "确认格式化 $DEVICE? (y/N): " confirm
if [ "$confirm" != "y" ] && [ "$confirm" != "Y" ]; then
echo "操作取消"
exit 0
fi
# 格式化
mkfs.ext4 -F $DEVICE
echo "格式化完成"
高级示例:自动格式化新磁盘
Windows 案例:格式化所有新硬盘
# 获取所有未分配盘符的磁盘
Get-Disk | Where-Object {$_.PartitionStyle -eq 'RAW'} | ForEach-Object {
# 初始化磁盘
Initialize-Disk -Number $_.Number -PartitionStyle GPT
# 创建分区
$partition = New-Partition -DiskNumber $_.Number -UseMaximumSize -AssignDriveLetter
# 格式化
Format-Volume -DriveLetter $partition.DriveLetter -FileSystem NTFS -NewFileSystemLabel "NewDisk" -Confirm:$false
}
Linux 案例:自动化格式化新加入的硬盘
#!/bin/bash
# 找到未被分区的新磁盘(假设是 /dev/sdb)
NEW_DISK="/dev/sdb"
# 创建分区表
parted -s $NEW_DISK mklabel gpt
# 创建主分区(占满整个磁盘)
parted -s $NEW_DISK mkpart primary ext4 0% 100%
# 格式化分区
mkfs.ext4 ${NEW_DISK}1
# 创建挂载点并挂载
mkdir -p /mnt/data
mount ${NEW_DISK}1 /mnt/data
# 添加到 fstab(可选)
echo "UUID=$(blkid -s UUID -o value ${NEW_DISK}1) /mnt/data ext4 defaults 0 2" >> /etc/fstab
⚠️ 重要安全提醒
- 备份数据:格式化会永久删除所有数据
- 确认设备:务必确认格式化的设备正确,避免误操作系统盘
- 测试环境:先在测试环境验证脚本
- 权限问题:
- Windows:以管理员权限运行
- Linux:使用
sudo或 root 用户
如何执行脚本
Windows
- 保存为
.ps1文件,右键 → "使用 PowerShell 运行" - 或:
powershell -ExecutionPolicy Bypass -File script.ps1
Linux
chmod +x script.sh sudo ./script.sh
选择适合你需求的方案,建议先在不重要的设备上测试。