ГЛАВНАЯ     АРХИВ     НАПИСАТЬ АДМИНУ     ПОДПИСАТЬСЯ НА RSS     ВОЙТИ      

Поиск

Категории

Облако тегов

  << Предыдущий пост       Следующий пост >>  
От: peerAt
18. июля 2012 14:09

Недавно меня спросили на asp.net форуме о том как бы я нашел старые файлы и удалил их. Я ответил, что я бы использовал LINQ. Это прекрасное средство для такого сценария. Здесь запрос для нахождения и удаления старых файлов. Не забудьте добавить ссылку на System.IO.

C#

var query = from o in Directory.GetFiles("/YourFolder", "*.*",
SearchOption.AllDirectories)
let x = new FileInfo(o)
where x.CreationTime <= DateTime.Now.AddMonths(-6)
select o;
foreach (var item in query)
{
File.Delete(item);
}

VB.NET

Dim query = _
From o In Directory.GetFiles("/YourFolder", "*.*", _
SearchOption.AllDirectories) _
Let x = New FileInfo(o) _
Where x.CreationTime <= DateTime.Now.AddMonths(-6) _
Select o
For Each item In query
File.Delete(item)
Next item

Запрос находит все файлы, которые старше 6 месяцев. Все что вам нужно, чтобы запрос работал для вас - это поменять каталог поиска на свой. Вы также можете заменить паттерн поиска и удалять файлы по другим критериям. Эту функциональность можно перенести в консольное приложение и запускать с помощью шедулера (менеджера отложенных задач). Эта задача еще одна неплохая причина использовать LINQ.

Это перевод. Оригинал здесь.

Похожие записи


7 методов для перечисления папок и файлов для использования в LINQ
.NET 4.0 предлагает 7 новых методов для перечисления подкаталогов и файлов. Все эти методы возвращают дженерик коллекцию (IEnumerable<T>), которая работает лучше чем массив. Особенно если результат нужно обрабатывать LINQ-ом. Вот эти 7 новых методов: Directory.EnumerateDirectories - Возвращает перечисляемую коллекцию имен каталогов по заданному пути Dire...

Постраничность в ASP.NET для Generic List-а с использованием LINQ
Практически все разработчики биндят свои Generic List-ы к ASP.NET контролам. Однако если список огромен, то вам нужно реализовать постраничность. Здесь простой пример реализации постраничности с использованием LINQ. Предполагается, что список в памяти. C# using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.W...

Как создать список (List) только для чтения с использованием LINQ ?
Нужно ли было вам когда нибудь создавать List только для чтения ? Как вы вышли из ситуации ? LINQ предлагает очень простой способ выйти из такой ситуации - метод AsReadOnly(). Дальше идет пример того как это можно сделать:C# List<int> integ = new List<int>(){100,200,300,400,500}; IList<int> noModif = integ.AsReadOnly(); foreach (var i ...

Добавить комментарий




biuquote
  • Комментарий
  • Предпросмотр
Loading


  Сохранить комментарий