Поиск и удаление файлов - C#

Узнай цену своей работы

Формулировка задачи:

Добрый день. Есть код.
Листинг программы
  1. int n = 0; //Переменная для счётчика строк в файле списке
  2. try
  3. {
  4. foreach (var file in Directory.GetFiles(@"c:\PMTEST\refresh")) //Цикл вытаскивает все пути к файлам в папке
  5. {
  6. string secondLine = File.ReadLines(@"c:\PMTEST\log.txt").Skip(n).First(); //Читаем строку из файла списка где n это номер строки
  7. String value = secondLine;
  8. int startIndex = 14;
  9. String substring = @"c:\PMTEST" + value.Substring(startIndex); // Форматируем строку (нужно для приведение нового корня пути)
  10. if (substring != null)
  11. {
  12. if (file != null)
  13. {
  14. if (file != substring) //Ставим условие "Если строка массива цикла не совпадает со строкой под одинаковым номером в файле списке, удаляем файл по пути предоставленному циклом.
  15. {
  16. File.Delete(file);
  17. }
  18. n++;
  19. }
  20. }
  21.  
  22. }
  23. }
Так вот ребят. Ума не приложу почему этот код не работает. А нужно просто сравнить список файлов в папке с текстовиком и удалить те файлы, ссылки которых нет в текстовике.

Решение задачи: «Поиск и удаление файлов»

textual
Листинг программы
  1. string[] filesList = File.ReadAllLines(@"C:\PMTEST\log.txt");
  2. string[] allFilesFromDirectory = Directory.GetFiles(@"C:\PMTEST\refresh");
  3. string[] filesForDeleting = allFilesFromDirectory.Except(filesList).ToArray();
  4.  
  5. foreach (string currentFileForDeleting in filesForDeleting)
  6.     File.Delete(currentFileForDeleting);

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

14   голосов , оценка 4 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы