以编程方式创建/删除/擦除磁盘分区?

Posted

技术标签:

【中文标题】以编程方式创建/删除/擦除磁盘分区?【英文标题】:Programmatically create/delete/wipe disk partition? 【发布时间】:2013-06-28 03:53:32 【问题描述】:

.NET 框架中是否有任何库允许我们在 .NET 中以编程方式创建、删除和擦除磁盘分区? (我使用的是 VB.NET)

目前我正在使用的选项是通过dos命令'diskpart',我觉得从编码的角度来看效率不高。

【问题讨论】:

检查这里***.com/questions/1232398/…和这里***.com/questions/8063538/format-a-drive-from-c-sharp 【参考方案1】:

试试这个...

Imports System.Text

Public Class Form1

Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click
    Try
        Dim partitionLetter As String = "Q"
        Dim sb As StringBuilder = New StringBuilder()
        sb.AppendLine("SELECT DISK=0") 'Select the first disk drive
        sb.AppendLine("CREATE PARTITION PRIMARY") 'create new partition
        sb.AppendLine("ASSIGN LETTER=" + partitionLetter) 'assign letter
        sb.AppendLine("FORMAT FS=FAT32 LABEL=""FD"" QUICK") 'format new partition
        sb.AppendLine("EXIT")
        System.IO.File.WriteAllText("c:\part.scr", sb.ToString()) 'create diskpart script
        Process.Start("diskpart.exe", "/s c:\part.scr") 'run the script
    Catch ex As Exception
        MessageBox.Show(ex.Message)
    End Try

End Sub

End Class

【讨论】:

以上是关于以编程方式创建/删除/擦除磁盘分区?的主要内容,如果未能解决你的问题,请参考以下文章

Linux基础--03--磁盘分区挂载

如果以命令的方式进行磁盘分区(上)

磁盘的分区格式化检验与挂载

linux磁盘分区命令是啥

如何在 C# 中找到包含给定分区的磁盘?

Linux磁盘分区之链接文件