Défragmenter un fichier

Description

Ce code permet d'obtenir la carte d'allocation des clusters de votre disque dur, les extents libres, un peu à la manière du défragmenteur Windows, et ce pour n'importe quel type de partition supportée par Windows.

Précision IMPORTANTE : l'API utilisée est celle de Windows. Il n'y a aucun accès directe à la table de partition. C'est le driver du système de fichier qui effectue l'opération de déplacement des fragments et ce de manière transactionelle de sorte qu'aucune perte de données ne soit possible.

Vous pouvez aussi obtenir la liste des fichiers fragmentés mais cela prend 30min sur une partition de 90Go... Vous pouvez enfin défragmenter un fichier particulier (rapide) et d'obtenir la liste des ces extents. La défragmentation complète n'est pas prévue.

Ce code peut servir par exemple, à savoir quels sont les clusters d'un fichier et à défragmenter des gros fichiers utilisés par votre application.

Conclusion :


Ce code provient d'une version VB6 (http://www.vbfrance.com/codes/DEFRAGMENTER-FICHIE R_40578.aspx) sans refactoring "orienté objet".

Testé sous Windows XP Pro/Vista/Seven

N'hésitez pas à commenter et à noter !

Codes Sources

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.