Поиск и удаление файлов - C#
Формулировка задачи:
Добрый день.
Есть код.
Так вот ребят. Ума не приложу почему этот код не работает.
А нужно просто сравнить список файлов в папке с текстовиком и удалить те файлы, ссылки которых нет в текстовике.
Листинг программы
- int n = 0; //Переменная для счётчика строк в файле списке
- try
- {
- foreach (var file in Directory.GetFiles(@"c:\PMTEST\refresh")) //Цикл вытаскивает все пути к файлам в папке
- {
- string secondLine = File.ReadLines(@"c:\PMTEST\log.txt").Skip(n).First(); //Читаем строку из файла списка где n это номер строки
- String value = secondLine;
- int startIndex = 14;
- String substring = @"c:\PMTEST" + value.Substring(startIndex); // Форматируем строку (нужно для приведение нового корня пути)
- if (substring != null)
- {
- if (file != null)
- {
- if (file != substring) //Ставим условие "Если строка массива цикла не совпадает со строкой под одинаковым номером в файле списке, удаляем файл по пути предоставленному циклом.
- {
- File.Delete(file);
- }
- n++;
- }
- }
- }
- }
Решение задачи: «Поиск и удаление файлов»
textual
Листинг программы
- string[] filesList = File.ReadAllLines(@"C:\PMTEST\log.txt");
- string[] allFilesFromDirectory = Directory.GetFiles(@"C:\PMTEST\refresh");
- string[] filesForDeleting = allFilesFromDirectory.Except(filesList).ToArray();
- foreach (string currentFileForDeleting in filesForDeleting)
- File.Delete(currentFileForDeleting);
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д