Afficher les informations des disques (VBScript)
Le script suivant affiche une boîte de message pour chaque lecteur, avec quelques-unes de ses propriétés.
Code VisualBASIC ou VBA ou VBS (script vbs : DiskInfo_OnClick) (23 lignes)
dim objFSO, colDrives, objDrive, aff, tempaff Set objFSO = CreateObject("Scripting.FileSystemObject") Set colDrives = objFSO.Drives For Each objDrive in colDrives if (objDrive.IsReady = true) then aff = "LETTRE DU DISQUE : " & objDrive.DriveLetter & vbcrlf aff = aff & "NOM DU DISQUE : " & objDrive.VolumeName & vbcrlf aff = aff & "NUMERO DE SERIE : " & objDrive.SerialNumber & vbcrlf aff = aff & "TYPE DE DISQUE : " & objDrive.DriveType & vbcrlf aff = aff & "SYSTEME DE FICHIERS : " & objDrive.FileSystem & vbcrlf aff = aff & "PATH : " & objDrive.Path & vbcrlf aff = aff & "DOSSIER RACINE : " & objDrive.RootFolder & vbcrlf aff = aff & "ESPACE TOTAL : " & objDrive.TotalSize & vbcrlf aff = aff & "ESPACE DISPONIBLE : " & objDrive.AvailableSpace & vbcrlf if (objDrive.ShareName <> "") then aff = aff & vbcrlf & "NOM DE PARTAGE : " & objDrive.ShareName end if MsgBox aff, vbInformation, "DiskInfo(brol)" else Wscript.Echo "DISQUE " & objDrive.DriveLetter & " NON PRET" end if Next Wscript.Echo colDrives.count & " DISQUES AFFICHES"
Procédure pas à pas
La procédure présentée ici permet de tester tous les objets de la collection drive (tous les lecteurs).
suite du code
/...
Ensuite, nous devons tester la disponibilité du lecteur de disquettes et des lecteurs CD, etc.
Si le lecteur n'est pas disponible, un message est généré.
suite du code
.../
A présent, nous allons générer l'affichage des propriétés des disques qui sont disponibles. Pour cela, nous pouvons ajouter à chaque fois les données dans la variable aff que nous avons déclaré plus haut.
Nous pouvons remarquer l'emploi de vbcrlf, qui correspond à un retour chariot, pour une meilleure présentation.
aff = aff & "NOM DU DISQUE : " & objDrive.VolumeName & vbcrlf
aff = aff & "NUMERO DE SERIE : " & objDrive.SerialNumber & vbcrlf
aff = aff & "TYPE DE DISQUE : " & objDrive.DriveType & vbcrlf
aff = aff & "SYSTEME DE FICHIERS : " & objDrive.FileSystem & vbcrlf
aff = aff & "PATH : " & objDrive.Path & vbcrlf
aff = aff & "DOSSIER RACINE : " & objDrive.RootFolder & vbcrlf
aff = aff & "ESPACE TOTAL : " & objDrive.TotalSize & vbcrlf
aff = aff & "ESPACE DISPONIBLE : " & objDrive.AvailableSpace & vbcrlf
Nous pouvons en plus tester si le lecteur est un lecteur partagé. Dans le cas où il est partagé, nous allons afficher son nom de partage.
Il ne nous reste plus qu'à afficher le résultat de la variable.
A la fin, nous pouvons afficher le nombre de disques trouvés, pour déclarer que le traitement est terminé.
Afficher tous les disques en vbs sur une seule fenêtre
Voici un autre exemple, qui affiche le résultat sur une seule boîte (je n'affiche pas la totalité de l'image pour gagner un peu de place ;-) ).
Cet exemple présente de plus la particularité de faire appel à une fonction qui associera un nom au type de disque, au lieu d'une valeur.
Code VisualBASIC ou VBA ou VBS (script vbs : InfoDisk2) (38 lignes)
Sub DiskInfo Dim objFSO, colDrives, objDrive, aff, tempaff Set objFSO = CreateObject("Scripting.FileSystemObject") Set colDrives = objFSO.Drives For Each objDrive in colDrives if (objDrive.IsReady = true) then aff = aff & vbcrlf & vbcrlf & "LETTRE DU DISQUE : " & objDrive.DriveLetter & vbcrlf aff = aff & "NOM DU DISQUE : " & objDrive.VolumeName & vbcrlf aff = aff & "NUMERO DE SERIE : " & objDrive.SerialNumber & vbcrlf aff = aff & "TYPE DE DISQUE : " & DiskType (objDrive.DriveType) & vbcrlf aff = aff & "SYSTEME DE FICHIERS : " & objDrive.FileSystem & vbcrlf aff = aff & "PATH : " & objDrive.Path & vbcrlf aff = aff & "DOSSIER RACINE : " & objDrive.RootFolder & vbcrlf aff = aff & "ESPACE TOTAL : " & objDrive.TotalSize & vbcrlf aff = aff & "ESPACE DISPONIBLE : " & objDrive.AvailableSpace & vbcrlf if (objDrive.ShareName <> "") then aff = aff & vbcrlf & "NOM DE PARTAGE : " & objDrive.ShareName end if else aff = aff& vbcrlf& vbcrlf & "DISQUE " & objDrive.DriveLetter & " NON PRET" & vbcrlf aff = aff & "TYPE DE DISQUE : " & DiskType (objDrive.DriveType) end if Next Wscript.Echo colDrives.count & " DISQUES AFFICHES" & vbcrlf & aff End Sub Function DiskType (ByVal dType) Dim affType Select Case dType Case 0 : affType = "INCONNU" Case 1 : affType = "DISQUE AMOVIBLE" Case 2 : affType = "FIXE" Case 3 : affType = "DISTANT" Case 4 : affType = "CD-ROM" Case 5 : affType = "RAMDISK" End Select DiskType = affType End Function DiskInfo
Nederlandse vertaling
U hebt gevraagd om deze site in het Nederlands te bezoeken. Voor nu wordt alleen de interface vertaald, maar nog niet alle inhoud.Als je me wilt helpen met vertalingen, is je bijdrage welkom. Het enige dat u hoeft te doen, is u op de site registreren en mij een bericht sturen waarin u wordt gevraagd om u toe te voegen aan de groep vertalers, zodat u de gewenste pagina's kunt vertalen. Een link onderaan elke vertaalde pagina geeft aan dat u de vertaler bent en heeft een link naar uw profiel.
Bij voorbaat dank.
Document heeft de 11/06/2004 gemaakt, de laatste keer de 26/10/2018 gewijzigd
Bron van het afgedrukte document:https://www.gaudry.be/nl/vbs-diskinfo.html
De infobrol is een persoonlijke site waarvan de inhoud uitsluitend mijn verantwoordelijkheid is. De tekst is beschikbaar onder CreativeCommons-licentie (BY-NC-SA). Meer info op de gebruiksvoorwaarden en de auteur.