L'objet Drive
L'objet Drive décrit un disque à l'aide d'une douzaine de propriétés.
La majorité de ces propriétés est accessible en lecture seule et ne peut donc pas être modifiée en Visual Basic.
Ce serait pourtant sympa de pouvoir écrire : fso.Drives("C").TotalSize = 1024^10 :o).
Propriétés de l'objet Drive |
||
| Propriété | Description | Exemple |
DriveLetter |
Donne la lettre du lecteur. | A, C, D... |
DriveType |
Donne le type de disque, sous forme numérique (1=Disque amovible, 2=Disque fixe, etc.). Voir plus bas pour quelques compléments. | |
IsReady |
Indique si le disque est prêt et donc accessible. Le lecteur de disquettes est considéré comme prêt si une disquette est placée à l'intérieur. De même pour le lecteur de CD-Rom. | |
SerialNumber |
Donne le numéro de série du disque. | |
VolumeName |
Indique le nom du disque. | |
FileSystem |
Indique le système de fichiers installé sur le disque. | FAT32 sur Windows 98, NTFS sur Windows NT/2000/XP. |
Path |
Donne le chemin d'accès au disque. | C:, D:... |
RootFolder |
Indique le nom du dossier racine sur le disque. | C:\, D:\... |
ShareName |
Donne le nom de partage du disque. | |
AvailableSpace |
Donne l'espace disque disponible, en octets. | |
FreeSpace |
Donne l'espace disque disponible,
en octets.
Les propriétés |
|
TotalSize |
Indique la taille totale du disque, en octets. | |
Décrire les disques à l'aide de l'objet Drive
L'exemple ci-dessous parcourt toute la collection Drives en affichant, dans la fenêtre Exécution, le descriptif de chaque disque trouvé.
' ---
' DRIVES COLLECTION / DRIVE OBJECT
' ---
' (c) 2003, Hervé Inisan - www.self-access.com
'
' La fonction DriveInfo() utilise la collection Drives et
' l'objet Drive pour énumérer tous les disques du système,
' ainsi que leurs caractéristiques.
' Les résultats sont affichés dans la fenêtre Exécution (Ctrl+G).
Function DriveInfo()
Dim fso As Scripting.FileSystemObject
Dim drv As Scripting.Drive
' Créer une instance du FSO
Set fso = New Scripting.FileSystemObject
' Liste de tous les disques
On Error Resume Next
Debug.Print "--- INFOS DISQUES"
Debug.Print "NOMBRE DE DISQUES: " & fso.Drives.Count
Debug.Print
For Each drv In fso.Drives
Debug.Print "--- DISQUE"
Debug.Print "LETTRE DU DISQUE: ", drv.DriveLetter
Debug.Print "TYPE DE DISQUE: ", drv.DriveType & " - " & DriveType(drv.DriveType)
Debug.Print "DISQUE PRET: ", , drv.IsReady
If drv.IsReady Then
Debug.Print "NUMERO DE SERIE: ", drv.SerialNumber
Debug.Print "NOM DU DISQUE: ", drv.VolumeName
Debug.Print "SYSTEME DE FICHIER: ", drv.FileSystem
Debug.Print "CHEMIN: ", , drv.Path
Debug.Print "DOSSIER RACINE: ", drv.RootFolder.Path
Debug.Print "PARTAGE: ", drv.ShareName
Debug.Print "ESPACE TOTAL: ", drv.TotalSize
Debug.Print "ESPACE LIBRE: ", drv.FreeSpace
Debug.Print "ESPACE DISPONIBLE: ", drv.AvailableSpace
End If
Debug.Print
Next
' Libérer les objets
Set fso = Nothing
End Function
' ---
' DRIVETYPECONST
' ---
' La fonction DriveType() affiche en clair les types de disques.
Function DriveType(ByVal intDriveType As Scripting.DriveTypeConst)
Dim strType As String
Select Case intDriveType
Case UnknownType: strType = "Inconnu"
Case Removable: strType = "Disque amovible"
Case Fixed: strType = "Disque fixe"
Case RamDisk: strType = "RamDisk"
Case CDRom: strType = "CD-Rom"
End Select
DriveType = strType
End Function
Résultat
Détail du listing
|
For Each drv in fso.Drives ... Next |
La collection Drives donne accès à x
disques. Nous utilisons donc une boucle For Each/Next pour
parcourir ces disques. A chaque passage dans la boucle, la variable drv
(de type Drive) désigne l'un des disques.
Pour obtenir la description du disque C uniquement, vous pouvez
bien sûr remplacer la boucle |
|
| Function DriveType(...) ... End Function |
Le type de disque (amovible, fixe, CD-Rom, etc.) est donné
par la propriété Drive.DriveType, qui est une valeur
numérique de 0 à 5 représentée par l'énumération DriveTypeConst
(que vous trouvez également dans l'Explorateur d'objets).
La fonction |
Renommer un disque à l'aide de l'objet Drive
L'exemple ci-dessous fait appel à la propriété Drive.VolumeName pour modifier le nom du disque C.
' ---
' DRIVE.VOLUMENAME
' ---
' (c) 2003, Hervé Inisan - www.self-access.com
'
' La fonction ChangeVolumeName() renomme le disque C.
' Vous pouvez l'améliorer en paramétrant le choix du disque
' et le nom à attribuer :-)
Function ChangeVolumeName()
Dim fso As Scripting.FileSystemObject
Dim drv As Scripting.Drive
' Créer une instance du FSO et une instance du disque C
Set fso = New Scripting.FileSystemObject
Set drv = fso.Drives("C")
' Renommer le disque C
drv.VolumeName = "SELFACCESS"
' Libérer les objets
Set drv = Nothing
Set fso = Nothing
End Function

Dans cet article...
Article mis à jour le 24/06/2005
Propriétés de l'objet Drive
