Переделал честно сворованный здесь VBS код... | Код | 'Создаём и запускаем диалог выбора корневой папки 'Set objShell = CreateObject("Shell.Application") 'Set objFolder = objShell.BrowseForFolder(0, "Select a folder:", 0) 'Если пользователь не выбрал папку, завершаем приложение 'If objFolder Is Nothing Then Wscript.Quit 'Получаем путь к выбранной папке 'objPath = objFolder.Self.Path '-------------------------------------------------------------- ' или укажем папку сами) ' Определить переменные Dim fso, fldr, f, newfiles ' Получить объект для работы с файловой системой Set fso = CreateObject("Scripting.FileSystemObject") ' Подключиться к нужному каталогу - тут можешь подставить свой objPath = fso.GetFolder("archives") '-------------------------------------------------------------- 'Создаем объект папки файловой системы 'и отправляем его в рекурсивную функцию Set FSO = CreateObject("Scripting.FileSystemObject") ShowSubFolders FSO.GetFolder(objPath) 'Сигнализируем о завершении программы Wscript.Echo "PROFIT in " & objPath 'Функция рекурсивного обхода папок Sub ShowSubFolders(Folder) 'Перебираем подпапки For Each Subfolder in Folder.SubFolders 'В каждой подпапке Subfolder делаем нужное нам черное дело 'Например, выводим её имя ' Wscript.Echo Subfolder.Name set fldr = folder For Each f In fldr.Files ' Если дата создания меньше, чем текущая минус 1 месяц ' Можешь использовать другие его свойства, например, .DateLastModified 'If f.DateCreated < DateAdd("d", -10, Now()) Then ' Удалить файл WScript.Echo "Удаление файла старше 10 дней" & vbCrLf & f ' удаляем файл если есть новые файлы ' if newfiles = 1 then 'f.Delete ' End If 'end if Next 'Рекурсивно вызываем функцию для подпапок текущей папки ShowSubFolders Subfolder Next End Sub 'PROFIT...
|
но все равно, что то меня тянет сделать это на SQL ))) Добавлено через 2 минуты и 22 секундычуть поправил взял отсюда... | Код | 'Создаём и запускаем диалог выбора корневой папки 'Set objShell = CreateObject("Shell.Application") 'Set objFolder = objShell.BrowseForFolder(0, "Select a folder:", 0) 'Если пользователь не выбрал папку, завершаем приложение 'If objFolder Is Nothing Then Wscript.Quit 'Получаем путь к выбранной папке 'objPath = objFolder.Self.Path '-------------------------------------------------------------- ' или укажем папку сами) ' Определить переменные Dim fso, fldr, f, newfiles ' Получить объект для работы с файловой системой Set fso = CreateObject("Scripting.FileSystemObject") ' Подключиться к нужному каталогу - тут можешь подставить свой objPath = fso.GetFolder("archives") '-------------------------------------------------------------- 'Создаем объект папки файловой системы 'и отправляем его в рекурсивную функцию Set FSO = CreateObject("Scripting.FileSystemObject") ShowSubFolders FSO.GetFolder(objPath) 'Сигнализируем о завершении программы Wscript.Echo "PROFIT in " & objPath 'Функция рекурсивного обхода папок Sub ShowSubFolders(Folder) 'Перебираем подпапки For Each Subfolder in Folder.SubFolders 'В каждой подпапке Subfolder делаем нужное нам черное дело 'Например, выводим её имя ' Wscript.Echo Subfolder.Name set fldr = folder For Each f In fldr.Files ' Если дата создания меньше, чем текущая минус 1 месяц ' Можешь использовать другие его свойства, например, .DateLastModified 'If f.DateCreated < DateAdd("d", -10, Now()) Then ' Удалить файл WScript.Echo "Удаление файла старше 10 дней" & vbCrLf & f ' удаляем файл если есть новые файлы ' if newfiles = 1 then 'f.Delete ' End If 'end if Next 'Рекурсивно вызываем функцию для подпапок текущей папки ShowSubFolders Subfolder Next End Sub 'PROFIT...
|
но хочу на sql...
|