calculer la taille réellement occupée par un fichier
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 forum qu'en C#, il était possible d'importer la DLL kernel32.dll, et d'utiliser l'API GetDiskFreeSpace :
Code:
1 2 3 4 5 6 7 8
| 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...