ОФИЦИАЛЬНЫЙ ФОРУМ ГРУППЫ КОМПАНИЙ «ТЕХНОКОМ»

ОФИЦИАЛЬНЫЙ ФОРУМ ГРУППЫ КОМПАНИЙ «ТЕХНОКОМ» (http://forum.tk-chel.ru/index.php)
-   Система «АвтоГРАФ»: Прочие вопросы (http://forum.tk-chel.ru/forumdisplay.php?f=6)
-   -   Удаление бинарный файлов из папки Data (http://forum.tk-chel.ru/showthread.php?t=3833)

4ynaka6pa 02.06.2014 11:42

Удаление бинарный файлов из папки Data
 
у кого есть наработанный метод борьбы с удалением старых записей БК?
только не надо советовать лазить по всем папкам:)

хорошо бы было реализовать в самом АГ выбор отображения файлов за перод 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 для удаления старых файлов

frdn 03.06.2014 02:49

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

plex 03.06.2014 04:43

Цитата:

Сообщение от frdn (Сообщение 80405)
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

Цитата:

Сообщение от plex (Сообщение 80410)
Там только до года, ему больше хочется


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

Добавлено через 57 секунд
Цитата:

Сообщение от Phantom (Сообщение 80365)
forfiles

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

4ynaka6pa 12.06.2014 21:33

Цитата:

Сообщение от Phantom (Сообщение 80365)
forfiles Вам поможет

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


Текущее время: 00:36. Часовой пояс GMT.

Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot