Поиск и удаление файлов - 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);

ИИ для рефератов и докладов


  • Экспорт Word по ГОСТу
  • Минимум 80% уникальности текста
  • Поиск релевантных источников в интернете
  • Готовый документ за 2 минуты

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

14   голосов , оценка 4 из 5
Похожие ответы