using System;
using System.Reflection;
using System.IO;
namespace GetFilesRecursively {
class Program {
static void Main(){
int cnt = 0;
long bites = 0;
string p = string.Empty;
foreach (string file in System.IO.Directory.GetFiles(
GetExecutingDirectoryName(), "*",SearchOption.AllDirectories))
{
cnt++;
FileInfo fi = new FileInfo(file);
bites += fi.Length;
//do something with file
p = String.Format("{0:n0}", (int)bites);
}
Console.Write(" Total files: {0}, ", cnt.ToString());
Console.WriteLine("totaling {0} bytes.", p);
}
/* found following method here:
https://www.red-gate.com/simple-talk/blogs/c-getting-
the-directory-of-a-running-executable/ */
public static string GetExecutingDirectoryName()
{
var location = new Uri(Assembly.GetEntryAssembly().GetName().CodeBase);
return new FileInfo(location.AbsolutePath).Directory.FullName;
}
}
}