Мой Kbyte.Ru
Рассылка Kbyte.Ru
Группы на Kbyte.Ru
Партнеры Kbyte.Ru
Реклама
Сделано руками
Сделано руками
> Исходные коды - Алексей Немиро -

Visual Basic .NET - Файлы и папки

Все примеры / Файлы и папки

Удаление старых файлов из папки

Автор: Алексей Немиро | добавлено: 03.03.2011, 13:31 | просмотров: 4888 (1+) | комментариев: 0 | рейтинг: *x10
Небольшое консольное приложение, которое позволяет удалять старые файлы из указанной директории. Программа принимает два параметра запуска: path и old. В path указывается каталог, из которого нужно удалить старые файлы. В параметре old указывается количество дней, которое должно пройти с момента создания файла, чтобы считать его устаревшим. Используется пространство имен System.IO. Обработка параметров командной строки производится при помощи регулярных выражений.

Код

Imports System.IO
Imports System.Text.RegularExpressions

Module Module1

  Sub Main()
    'получаем параметры
    '-path "C:\" -old 10
    Dim path As String = "", old As Integer = 0
    Dim myReg As New Regex("\-(?<name>[^\s]+)\s+(?<value>[^\s]+)")
    Dim mc As MatchCollection = myReg.Matches(Command())
    For Each m As System.Text.RegularExpressions.Match In mc
      Select Case m.Groups("name").Value.Trim().ToLower()
        Case "path"
          'Trim("""") - удаляет кавычки по бокам
          'Trim() - удаляет лишние пробелы
          path = m.Groups("value").Value.Trim("""").Trim()
        Case "old"
          Integer.TryParse(m.Groups("value").Value.Trim("""").Trim(), old)
      End Select
    Next

    'проверяем, чтобы бы указан путь папки, файлы в которой нужно удалить
    If String.IsNullOrEmpty(path) Then
      Console.WriteLine("Необходимо указать путь директории, файлы в которой нужно удалить.")
      Console.WriteLine("Используйте параметр path. Например:")
      Console.WriteLine("-path ""C:\MyDir""")
      Return
    End If

    'получаем список файлов указанной папки
    Dim files() As String = Directory.GetFiles(path)

    'листаем файлы
    For Each filePath As String In files
      Dim FI As New FileInfo(filePath)
      'проверяем дату создания
      If DateDiff(DateInterval.Day, FI.CreationTime, Now) >= old Then
        'пытаемся удалить
        Try
          FI.Delete()
          Console.WriteLine("{0} - удален", filePath)
        Catch ex As Exception
          Console.WriteLine("Не удалось удалить файл: {0}", filePath)
        End Try
      Else
        Console.WriteLine("{0} - будет жить, пока", filePath)
      End If
    Next

    Console.WriteLine("Работа программы успешно завершена.")
  End Sub

End Module
Файлы DeleteOldFiles.zip (9,54 Кб)
Об авторе

Алексей Немиро

Интернет-деятель. Автор многочисленных статей и переводов статей по программированию и информационным технологиям. Работы Алексея можно найти в популярных печатных изданиях компьютерной тематики. Автор проекта Kbyte.Ru.
Сейчас Алексей занимается профессиональным Web-программированием на базе технологий .NET Framework. Иногда пишет различные программки и компоненты для Windows и Android. В свободное время занимается Web-дизайном, увлекается фото- и видеосъемкой.

См. также:
Профиль автора
Алексей Немиро
Последние комментарии (всего: 0)

Добавлять комментарии могут только зарегистрированные пользователи сайта.
Если у Вас уже есть учетная запись на Kbyte.Ru, пройдите процедуру авторизации OpenID.
Если Вы еще не зарегистрированы на Kbyte.Ru - зарегистрируйтесь.


Нет комментариев...

Авторизация
 
OpenID
Зарегистрируйся и получи 10% скидку на добавление своего сайта в каталоги! Подробнее »
Поиск по сайту
Люди на Kbyte.Ru
Реклама
Счетчики