Possible Duplicate:
How do I get a directory size (files in the directory) in C#?
In vbscript, it's incredibly simple to get the folder size in GB or MB:
Set oFSO = CreateObject("Scripting.FileSystemObject")
Dim fSize = CInt((oFSO.GetFolder(path).Size / 1024) / 1024)
WScript.Echo fSize
In C#, with all my searches, all I can come up with are long, convoluted, recursive searches for every file size in all subfolders, then add them all up at the end.
Is there no other way?
You can also use recursion to get all subdirectories and sum the sizes:
How about this:
from here.
This will give you the size in bytes; you will have to "prettify" that into GBs or MBs.
NOTE: This only works in .NET 4+.
EDIT: Changed the wildcard search from
"*.*"
to"*"
as per the comments in the thread to which I linked. This should extend its usability to other OSes (if using Mono, for example).