Работа с дисками в VB .NET
Опубликовано Декабрь 31, 2015 автором Памирыч
Получить имена всех дисков в системе
Visual Basic .NET
1
2
3
4 |
Dim D() As IO.DriveInfo = IO.DriveInfo.GetDrives
For Each DI As IO.DriveInfo In D
MsgBox(DI.Name)
Next |
Если нужно получить не все диски, а лишь определенного типа, то нужно добавить условие.
Например, в следующем примере мы получаем имена только жестких дисков:
Visual Basic .NET
1
2
3
4
5
6 |
Dim D() As IO.DriveInfo = IO.DriveInfo.GetDrives
For Each DI As IO.DriveInfo In D
If DI.DriveType = IO.DriveType.Fixed Then
MsgBox(DI.Name)
End If
Next |
Узнать объем свободного места на диске в мегабайтах
Visual Basic .NET
1
2 |
Dim DI As New IO.DriveInfo("C:\")
MsgBox(DI.TotalFreeSpace / 1024 \ 1024) |
Узнать имя файловой системы на диске
Visual Basic .NET
1
2 |
Dim DI As New IO.DriveInfo("C:\")
MsgBox(DI.DriveFormat) |
Узнать тип диска
Visual Basic .NET
1
2 |
Dim DI As New IO.DriveInfo("C:\")
MsgBox(DI.DriveType) |
0 |
Неизвестный тип диска |
1 |
Диск, не содержащий корневого каталога |
2 |
Съемный диск, куда входит и диск 3,5А |
3 |
Жесткий диск |
4 |
Сетевой диск |
5 |
Cd/DVD — оптичнский диск |
6 |
Диск ОЗУ |
Узнать, доступен ли диск
Visual Basic .NET
1
2 |
Dim DI As New IO.DriveInfo("C:\")
MsgBox(DI.IsReady) |
Получить имя диска
Visual Basic .NET
1
2 |
Dim DI As New IO.DriveInfo("C:\")
MsgBox(DI.Name) |
Естественно, в данном случае это не имеет смысла, но это необходимо когда работа идет не с одним диском, а с несколькими, например, перебор в цикле, как в первом примере
Узнать полный объем диска
Visual Basic .NET
1
2 |
Dim DI As New IO.DriveInfo("C:\")
MsgBox(DI.TotalSize / 1024 \ 1024) |
Объем занятого пространства диска подобным образом узнать нельзя, поэтому получаем его, вычитая свободное место из общего пространства:
Visual Basic .NET
1
2 |
Dim DI As New IO.DriveInfo("C:\")
MsgBox((DI.TotalSize - DI.AvailableFreeSpace) / 1024 \ 1024) |
Узнать или назначить метку тома
Visual Basic .NET
1
2 |
Dim DI As New IO.DriveInfo("D:\")
MsgBox((DI.VolumeLabel)) |
Назначение:
Visual Basic .NET
1 |
DI.VolumeLabel = "Проекты" |