🟣 C# / .NET 6+
Get Windows Error Reporting files Size Report (C#)
Recursively sums the size of Windows Error Reporting files, read-only (no deletion).
ErrorReportsSizeReport.cs
// ErrorReportsSizeReport.cs
//
// Reports how much disk space Windows Error Reporting files is using, read-only.
//
// Usage: dotnet new console -o ErrorReportsSizeReport, replace Program.cs
// with this file, then dotnet run.
using System;
using System.IO;
using System.Linq;
string targetPath = Environment.ExpandEnvironmentVariables(@"C:\ProgramData\Microsoft\Windows\WER");
if (!Directory.Exists(targetPath))
{
Console.WriteLine($"{targetPath} does not exist on this machine.");
return;
}
// IgnoreInaccessible (the EnumerationOptions default) skips subfolders we
// can't read instead of throwing — GetFiles(pattern, SearchOption) does not.
var enumOptions = new EnumerationOptions { RecurseSubdirectories = true, IgnoreInaccessible = true };
var files = new DirectoryInfo(targetPath).GetFiles("*", enumOptions);
long totalBytes = files.Sum(f => f.Length);
Console.WriteLine(targetPath);
Console.WriteLine($" Files: {files.Length}");
Console.WriteLine($" Total size: {(totalBytes / 1024.0 / 1024.0):F2} MB");