Может ли кто-нибудь объяснить, почему мой код удаляется без разбора?
Привет, я довольно новичок в linq, и я решил сделать программу, которая принимает каталог файлов, читает расширение файла и возраст целевого файла(ов). Основная цель состоит в том, чтобы просто удалить файлы с помощью расширения файла, но нацелиться только на старые файлы(1 неделя, 3 месяца или более).
Я протестировал winform, в котором находится оператор linq для старых файлов, однако он, похоже, не может отличить старое от нового(конечно, я создал резервную копию для этих файлов на случай, если что-то пойдет ужасно неправильно).
Любая помощь будет очень признательна и извините за представление кода ниже, так как он принял другую форму после копирования и вставки.
Что я уже пробовал:
protected void log() { string path = fileLocation.Text; string fullPath = string.Format(@"{0}\File_Deletion_Log.txt", path); File.AppendAllLines(fullPath, new[] {"File Deletion Complete " + string.Format("{0:yyyy-MM-dd} ",DateTime.Now) + string.Format("Files Deleted: {0}",Count)}); Count = 0; } protected void button1_Click(object sender, EventArgs e) { string extensions = fileExtension.Text; var files = new DirectoryInfo(fileLocation.Text).GetFiles("*", SearchOption.AllDirectories) .Select(p => new FileInfo(Convert.ToString(p))) .Where(p => p.CreationTime < DateTime.Now.Subtract(TimeSpan.FromDays(Convert.ToInt32(fileAge.Text)))) .Where(p => string.Compare(p.Extension, extensions, true) == 0); foreach (var file in files) { file.Attributes = FileAttributes.Normal; File.Delete(file.FullName); Count++; } MessageBox.Show(string.Format("Total Number of files deleted: {0}", Count)); log();