Небольшое консольное приложение, которое позволяет удалять старые файлы из указанной директории. Программа принимает два параметра запуска: 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
Интернет-деятель. Автор многочисленных статей и переводов статей по программированию и информационным технологиям. Работы Алексея можно найти в популярных печатных изданиях компьютерной тематики. Автор проекта Kbyte.Ru. Сейчас Алексей занимается профессиональным Web-программированием на базе технологий .NET Framework. Иногда пишет различные программки и компоненты для Windows и Android. В свободное время занимается Web-дизайном, увлекается фото- и видеосъемкой.
Добавлять комментарии могут только зарегистрированные пользователи сайта.
Если у Вас уже есть учетная запись на Kbyte.Ru, пройдите процедуру авторизации.
Если Вы еще не зарегистрированы на Kbyte.Ru - зарегистрируйтесь.