namespace WinFormsApp1
{
public partial class Form1 : Form
{
static long folderSize(DirectoryInfo folder)
{
long totalSizeOfDir = 0;
FileInfo[] allFiles = folder.GetFiles();
foreach (FileInfo file in allFiles)
{
totalSizeOfDir += file.Length;
}
DirectoryInfo[] subFolders = folder.GetDirectories();
foreach (DirectoryInfo dir in subFolders)
{
totalSizeOfDir += folderSize(dir); // recursively calling to get all the subfolders
}
return totalSizeOfDir;
}
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
DirectoryInfo folder = new DirectoryInfo("c://test");
long totalFolderSize = folderSize(folder);
MessageBox.Show(totalFolderSize.ToString() + " bytes");
}
}
}
/*
run:
54746 bytes
*/