Перечисление всех файлов на моем компьютере и сортировка по размеру

Недавно яЯ столкнулся с проблемой, что мой жесткий диск заполняется до ужаса, но после просмотра моих личных файлов и удаления / перемещения всех видеофайлов большого размера у меня все еще остается довольно мало доступного ПЗУ. Поэтому я заставил свой программистский мозг работать и решил, что вместо тщательного прохождения каждой папки и подпапки и использования функции Windows, щелкнув правой кнопкой мыши + Свойства, чтобы увидеть, насколько большой файл и стоит ли его хранить, я мог бы написать простой код, который будет искать каждый файл на моем компьютере, бросить его в список по его полному пути и поставить рядом с ним размер файла, а затем отсортировать его от наибольшего к наименьшему по размеру файла. Так что я прыгнул в Интернете, начал проводить исследования, и тогда все меня зацепило. Я'мы нашли множество фрагментов кода, которые работают для их назначенной задачи, но всякий раз, когда я пытаюсь использовать их самостоятельно, я сталкиваюсь с множеством ошибок сборки. Тем не менее, самая многообещающая вещь, которую ямы обнаружили, что это:

const string dir = "C:\\";
string[] fns = Directory.GetFiles(dir);
var Sort = from fn in fns
           orderby new FileInfo(fn).Length descending
           select fn;
foreach (string n in Sort)
    Console.WriteLine(n);

К сожалению, это не касается ни одного подкаталога. Я'Мы искали, как извлечь файлы из подкаталогов, но попытка объединить эти фрагменты кода с этим оказалось большим количеством проблем, чем я мог себе представить. В том редком случае, когда свет был виден в конце туннеля, моя программа касалась каталога, который, по-видимому, был защищен привилегированным администратором (я единственный пользователь и, следовательно, администратор моего компьютера) и выбрасывал ошибки, такие как шимпанзе в зоопарк выбрасывает фекалии.

Итак, в целом, я ищу помощь в следующем: -Программа, которая ищет все файлы на моем компьютере (я предполагаю, что, начиная с "C: /» диск, где я могу получить доступ ко всему) -принимает каждый файл, его размер и путь к этому файлу и выбрасывает его в список / массив / что угодно-сортирует его по размеру файла от наибольшего к наименьшему-помещает этот список в .txt файл

Последняя часть, которую я на самом деле неМне не нужна помощь, так как я довольно хорошо знаком с классом Streamwriter. Я могу даже проложить свой путь через сортировку по размеру файла с помощью квазипростого алгоритма синтаксического анализа, который я могу сделать на лету, если мой список / массив / и т. Д. Файлов / путей / размеров все соответствуют одним и тем же шаблонам и могут быть преобразованы в строки. Таким образом, примерно 90,23% моих проблем - это просто получение всех файлов, получение или игнорирование и продолжение папок, защищенных администратором (я думаю, лучше игнорировать их, поскольку я сильно сомневаюсь, что что-либо в защищенной папке должно быть когда-либо удалено.) Получение путей и размеров всех этих файлов и организация их.

Ответы на вопрос(3)

Ваш ответ на вопрос