PDA

Просмотр полной версии : Удаление бинарный файлов из папки Data


4ynaka6pa
02.06.2014, 11:42
у кого есть наработанный метод борьбы с удалением старых записей БК?
только не надо советовать лазить по всем папкам:)

хорошо бы было реализовать в самом АГ выбор отображения файлов за перод 1,2,3 года, и добавить кнопочку удалить старше: 3,4,5 лет данные или удалить и оставить 1,2,3 лет

Phantom
02.06.2014, 12:33
4ynaka6pa, может использовать встроенные в Windows средства?
forfiles Вам поможет, а в сети куча примеров имеется! :friday:

Phantom
02.06.2014, 12:37
Вот как-то так:
Помогите написать .bat для удаления старых файлов (http://www.sql.ru/forum/actualutils.aspx?action=gotomsg&tid=608131&msg=6377038)

frdn
03.06.2014, 02:49
4ynaka6pa, дык, в программе же есть такая функция: Параметры -> Операции -> Удалять файлы старше ....

plex
03.06.2014, 04:43
4ynaka6pa, дык, в программе же есть такая функция: Параметры -> Операции -> Удалять файлы старше ....

Там только до года, ему больше хочется

Zlataner
03.06.2014, 08:20
На VBS это делается так:
' Удаление старых данных АвтоГРАФ

' Путь к данным АвтоГРАФ
Dim agData
agData = "D:\АвтоГРАФ\Data"

' Сколько данных оставить (число лет)
Dim agSafe
agSafe = 3

Dim fsoHandle, fsoData, fsoFolders, fsoFolder, fsoFiles, fsoFile
Dim curDate, curDay, curMonth, curYear, minDate

Set fsoHandle = CreateObject("Scripting.FileSystemObject")
If fsoHandle.FolderExists(agData) Then
curDate = Date()
curDay = Day(curDate)
curMonth = Month(curDate)
curYear = (Year(curDate) Mod 100)-agSafe
If curDay<10 Then
curDay = "0" & curDay
End If
If curMonth<10 Then
curMonth = "0" & curMonth
End If
If curYear<10 Then
curYear = "0" & curYear
End If
minDate = curYear & curMonth & curDay
Set fsoData = fsoHandle.GetFolder(agData)
Set fsoFolders = fsoData.SubFolders
For Each fsoFolder In fsoFolders
Set fsoFiles = fsoFolder.Files
For Each fsoFile In fsoFiles
If Mid(fsoFile.Name,1,8)=fsoFolder.Name & "-" And _
Mid(fsoFile.Name,9,6)<minDate And _
Mid(fsoFile.Name,15,5)=".sbin" Then
fsoFile.Delete
End If
Next
Next
End If

4ynaka6pa
03.06.2014, 19:17
Там только до года, ему больше хочется


у нас иногда и данные 2-ух летней давности поднимать приходится, потому удалять все, что старше года не получится, а оставлять все, уж очень длинная портянка получается.

Добавлено через 57 секунд
forfiles

папробуем, пасиб

4ynaka6pa
12.06.2014, 21:33
forfiles Вам поможет

не очень помог, особенно когда у тебя не 1 АГ клиент установленный на ПК в разных регионах страны.
удобней было бы в если все таки АГ реализовать.
:temazakryta: