Toute l'actualité de [self-access.com] en direct sur votre ordinateur !  Vous êtes ici : Accueil » Visual Basic » Scripting Runtime » Disque (Drive)Connexion
 


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 AvailableSpace et FreeSpace donnent le même résultat, à part éventuellement pour des ordinateurs gérant des systèmes de quotas.

 
TotalSize Indique la taille totale du disque, en octets.  

Vers le haut

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

Vers le haut

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 For Each/Next par l'instruction : Set drv = fso.Drives("C")

 
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 DriveType() se charge simplement d'afficher le type de disque en toutes lettres (un gadget cosmétique, donc !).

Vers le haut

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

Vers le haut


Mes livres sur Access...
[cliquez pour plus d'infos]





Hit-Parade 
 
[ Copyright 1997-2018 hervé inisan, self-access.com Reproduction interdite ]