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
Version en cache
21/12/2024 18:09:38 Cette version de la page est en cache (à la date du 21/12/2024 18:09:38) afin d'accélérer le traitement. Vous pouvez activer le mode utilisateur dans le menu en haut pour afficher la dernère version de la page.Document créé le 11/06/2004, dernière modification le 26/10/2018
Source du document imprimé : https://www.gaudry.be/vbs-diskinfo.html
L'infobrol est un site personnel dont le contenu n'engage que moi. Le texte est mis à disposition sous licence CreativeCommons(BY-NC-SA). Plus d'info sur les conditions d'utilisation et sur l'auteur.