Domanda

Come ottenere la directory dei file di un file (C: \ myfolder \ subfoler \ mydoc.pdf). Voglio anche aggiungere la dimensione delle sottocartelle e infine la dimensione della cartella principale. Questo è per un CLR .NET che devo integrare con SQL Server 2005 per un rapporto SSRS.

È stato utile?

Soluzione

Puoi usare GetDirectoryName , per ottenere solo il percorso della directory del file:

using System.IO;
string directoryName = Path.GetDirectoryName(@"C:\myfolder\subfolder\mydoc.pdf");
// directoryName now contains "C:\myfolder\subfolder"

Per calcolare la dimensione della directory e della sottodirectory, puoi fare qualcosa del genere:

public static long DirSize(DirectoryInfo d) 
{    
    long Size = 0;    
    // Add file sizes.
    FileInfo[] fis = d.GetFiles();
    foreach (FileInfo fi in fis) 
    {      
        Size += fi.Length;    
    }
    // Add subdirectory sizes.
    DirectoryInfo[] dis = d.GetDirectories();
    foreach (DirectoryInfo di in dis) 
    {
        Size += DirSize(di);   
    }
    return(Size);  
}
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top