VBScript : calculer la taille réellement occupée par un fichier

d_idaho Messages postés 1 Date d'inscription jeudi 1 mars 2007 Statut Membre Dernière intervention 1 mars 2007 - 1 mars 2007 à 10:29
cs_JMO Messages postés 1854 Date d'inscription jeudi 23 mai 2002 Statut Membre Dernière intervention 24 juin 2018 - 1 mars 2007 à 15:51
Bonjour,

La propriété Size d'un FileSystemObject correspond à la propriété Taille de la fenêtre Propriétés


d'un dossier ou d'un fichier
.




Je souhaiterais connaître le moyen de calculer en VBScript la taille réelle occupée par un fichier ou un dossier sur le disque, ce qui correspond à la propriété Taille sur le disque de la fenêtre Propriétés d'un dossier ou d'un fichier.

J'ai découvert sur un autre site qu'en C#, il était possible d'importer la DLL kernel32.dll, et d'utiliser l'API GetDiskFreeSpace :



DllImport("kernel32.dll"SetLastError=True, CharSet=CharSet.Auto)> _
Shared Function GetDiskFreeSpace( _
    ByVal lpRootPathName AsString, _
    ByRef lpSectorsPerCluster AsUInt32, _
    ByRef lpBytesPerSector As System.UInt32, _
    ByRef lpNumberOfFreeClusters As System.UInt32, _
    ByRef lpTotalNumberOfClusters As System.UInt32)As Boolean
End Function




Ce qui permet de connaître:
Le nombre de Byte par secteur: lpBytesPerSector
Le nombre de secteur
par cluster: lpSectorsPerCluster


Et de recalculer le nombre de cluster NC occupé par un
fichier, d'où la taille réelle...

Mais je ne sais pas comment utiliser cette API VBScript...

3 réponses

ShareVB Messages postés 2676 Date d'inscription vendredi 28 juin 2002 Statut Membre Dernière intervention 13 janvier 2016 26
1 mars 2007 à 14:25
salut,

http://www.activexperts.com/activmonitor/windowsmanagement/adminscripts/disk/drives/#EnumDiskDrive.htm...à voir si BlockSize de la classe
Win32_DiskPartition contient la taille d'un cluster...

ShareVB
0
ShareVB Messages postés 2676 Date d'inscription vendredi 28 juin 2002 Statut Membre Dernière intervention 13 janvier 2016 26
1 mars 2007 à 14:28
0
cs_JMO Messages postés 1854 Date d'inscription jeudi 23 mai 2002 Statut Membre Dernière intervention 24 juin 2018 27
1 mars 2007 à 15:51
0
Rejoignez-nous