如何获取文件的文件目录(C:\ myfolder \ subfoler \ mydoc.pdf)。我还想添加子文件夹的大小,最后是主文件夹大小。这适用于我需要与SQL Server 2005集成以获取SSRS报告的.NET CLR。
答案 0 :(得分:4)
您可以使用GetDirectoryName,仅获取文件的目录路径:
using System.IO;
string directoryName = Path.GetDirectoryName(@"C:\myfolder\subfolder\mydoc.pdf");
// directoryName now contains "C:\myfolder\subfolder"
要计算目录和子目录大小,您可以执行以下操作:
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);
}