Pregunta

Cómo obtener el directorio de archivos de un archivo (C: \ myfolder \ subfoler \ mydoc.pdf). También quiero agregar el tamaño de las subcarpetas y, finalmente, el tamaño de la carpeta principal. Esto es para un .NET CLR que necesito integrar con SQL Server 2005 para un informe SSRS.

¿Fue útil?

Solución

Puede usar GetDirectoryName , para obtener solo la ruta del directorio:

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

Para calcular el directorio y el tamaño del subdirectorio, puedes hacer algo como esto:

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);  
}
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top