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
English translation
You have asked to visit this site in English. For now, only the interface is translated, but not all the content yet.If you want to help me in translations, your contribution is welcome. All you need to do is register on the site, and send me a message asking me to add you to the group of translators, which will give you the opportunity to translate the pages you want. A link at the bottom of each translated page indicates that you are the translator, and has a link to your profile.
Thank you in advance.
Document created the 11/06/2004, last modified the 26/10/2018
Source of the printed document:https://www.gaudry.be/en/vbs-diskinfo.html
The infobrol is a personal site whose content is my sole responsibility. The text is available under CreativeCommons license (BY-NC-SA). More info on the terms of use and the author.