Хорошо, после внесения уточнений я бы посоветовал взглянуть на самоанализ, доступный в .Net. Однако я предупрежу вас, что я думаю, что вы получите более удовлетворительные результаты, если откажетесь от самоанализа и определите конкретные свойства, которые вы хотите для типов файлов, которые вы ожидаете увидеть.
Поскольку сценарии действительны, тогда, если бы это была моя проблема, я бы использовал Powershell, так как в нее встроен самоанализ .net.