Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Скриптовые языки администрирования Windows (http://forum.oszone.net/forumdisplay.php?f=102)
-   -   [решено] Удаление файлов (http://forum.oszone.net/showthread.php?t=151129)

ags555 21-09-2009 22:54 1224341

Удаление файлов
 
Здравствуйте!!!
На этом форуме совсем не давно поэтому сразу извиняюсь за возможно не корректные вопросы!!!
Нужно организовать удаление файлов 2-х недельной давности!!!
Суть: у нас настроенно архивное капирование которое каждый день в час ночи создаёт архивы с названием текушей системной даты т.е. например 19.09.2009.zip и так соответственно на каждый день 20.09.2009.zip, 21.09.2009.zip и т.д!!!
Нужен скрипт или на BAT или на CMD или на VBS или на WHS который бы вслед за этим заданием запускался просматривал папку с архивами и если там находил файлы 2-х недельной давности от текущей системной даты то удалял бы их!!!
Сам разобраться не смог, прошу помощи!!! Тут наверно нужно организовать просмотр файлов или по названию или по дате создания!!!

amel27 22-09-2009 04:03 1224435

ags555, вариант на VBS:
Код:

strRoot = "C:\Backup"                ' Путь к каталогу с архивами
strMask = "^(\d{2}\.){2}\d{4}\.zip$" ' Маска имени ZIP-файлов
intWeek = 2                          ' Время хранения файла (в неделях)

Set objFSO    = CreateObject("Scripting.FileSystemObject")
Set objRegExp = CreateObject("VBScript.RegExp")
Set objRoot  = objFSO.GetFolder(strRoot)
Set colFiles  = objRoot.Files

objRegExp.Pattern = strMask
objRegExp.IgnoreCase = True

For Each objFile In colFiles
  If objRegExp.Test(objFile.Name) And _
    DateDiff("w", objFile.DateLastModified, Date)>=intWeek Then
    objFile.Delete
  End If
Next


ags555 22-09-2009 17:56 1224896

Спасибо за то что откликнулись amel27, !!!
Попробую!!!
Разъясните что значит конструкция "^(\d{2}\.){2}\d{4}\.zip$" поподробнее, как я понял она отвечает за маску по которой будут фильтроваться файлы. Чтобы потом можно было самому задавать разные маски!!! Т.е. в зависимости от того какое имя у файла соответственно програмка судит следует его удалять или нет??? Правильно???

А параметр intWeek = 2 отвечает за давность??? Правильно??? т.е. если intWeek = 3 то програмка будет искать за 3 недели соответственно!!!

amel27 23-09-2009 10:08 1225334

Цитата:

Цитата ags555
что значит конструкция "^(\d{2}\.){2}\d{4}\.zip$" »

Код:

^        начинаем проверку с начала строки
(        начало блока
  \d{2}  два знака "цифра"
  \.    один знак "точка"
){2}    конец блока, блок должен примениться дважды
\d{4}    четыре цифры
\.zip    расширение ".zip"
$        тут строка должна закончиться

полностью эквивалентная, но более простая маска: "^\d\d\.\d\d\.\d\d\d\d\.zip$"
для справки: http://ru.wikipedia.org/wiki/%D0%A0%...BD%D0%B8%D1%8F
Цитата:

Цитата ags555
т.е. если intWeek = 3 то програмка будет искать за 3 недели соответственно »

3 недели и более

vitaliyboch 23-09-2009 14:02 1225519

Уже есть решение этого вопроса http://forum.oszone.net/thread-146190.html зачем писать сто раз одну и ту же проблему? Поиск по форуму использовать не судьба?

ags555 28-09-2009 20:54 1229703

Спасибо за разъяснения amel27, !!!
А вас vitaliyboch, попрошу не разглогольствовать бестолку!!!


Время: 10:52.

Время: 10:52.
© OSzone.net 2001-