Taille d'un répertoire d'une machine distante

Signaler
Messages postés
1
Date d'inscription
jeudi 17 août 2006
Statut
Membre
Dernière intervention
17 août 2006
-
Messages postés
74
Date d'inscription
samedi 10 janvier 2004
Statut
Membre
Dernière intervention
19 septembre 2006
-
Bonjour,

Je cherche le moyen de lire la taille occupée par un répertoire sur le disque dur d'une machine distante.
En local, celà est simple:

internal

staticlong
CalculateDirectorySize(System.IO.DirectoryInfo oDirectory)

{

long
DirectorySize = 0;

// Liste les fichiers

foreach (System.IO.FileInfo oFile in
oDirectory.GetFiles())

{

DirectorySize += oFile.Length;

}

//Liste les sous-répertoires

System.IO.DirectoryInfo[] oUnderDirectories = oDirectory.GetDirectories();

foreach (System.IO.DirectoryInfo oUnderDirectory in
oUnderDirectories)

{

//Calcule la taille de chaque sous-répertoire

DirectorySize += CalculateDirectorySize (oUnderDirectory);

}

return
DirectorySize;

}

Mais je ne parviens pas à le faire avec une machine distante. J'arrive pourtant à lire l'espace occupé et la taille totale d'un disque:

ManagementScope Scope = new ManagementScope("\\\" + sEngine + "\\root\\cimv2");

Scope.Connect();

System.Management.ObjectQuery oQuery = new System.Management.ObjectQuery(string.Format("select FreeSpace,Size from Win32_LogicalDisk where Name='{0}'",sDisk));

ManagementObjectSearcher oSearcher = new ManagementObjectSearcher(Scope,oQuery);

ManagementObjectCollection oReturnCollection = oSearcher.Get();

string sFreeSpace;

string sSize;

foreach( ManagementObject oReturn in oReturnCollection )

{

sFreeSpace = oReturn["FreeSpace"].ToString();

sSize = oReturn["Size"].ToString();

}

Connaissez-vous le moyen de connaitre la taille d'un répertoire d'une machine distante?
(Peut-être est-il possible de spécifier un System.IO.DirectoryInfo sur une machine distante et utiliser la fonction CalculateDirectorySize ?)

Merci,

Nicolas

1 réponse

Messages postés
74
Date d'inscription
samedi 10 janvier 2004
Statut
Membre
Dernière intervention
19 septembre 2006

Salut Nicolas.

Avec WMI comme tu as fait pour récupérer l'espace occupé d'un disque distant cela doit être possible de récupérer la taille occupé par un dossier!
T'as regardé les autres classe qui te sont à disposition comme cim_datafile(http://msdn.microsoft.com/library/default.asp?url=/library/en-us/wmisdk/wmi/cim_datafile.asp). Avec celle ci je sais qu'il est possible de récupérer la taille d'un fichier (FileSize) donc...
Sinon pour utiliser DirectoryInfosur une machine distante il me semble que le dossier doit obligatoirement être partagé!!

Voilà en espérant t'avoir données des pistes, tiens moi au courant

@++