Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  

Показать сообщение отдельно

Ветеран


Contributor


Сообщения: 2710
Благодарности: 1686

Профиль | Отправить PM | Цитировать


sindrom_89, Давайте уточним:
1. Надо (ежедневно?) архивировать (с удалением заархивированных) файлы D:\BackUpDB\KoDB*.bak старше 7 дней в папку D:\Archive
Вопрос: с каким именем, как оно образуется? Или в один архив (опять же, с каким именем?) ? Периодичность архивации (ежедневно?)?
2.
Цитата sindrom_89:
папки D:\Archive копировать в папку D:\Archive\OLD файлы всех архивов 15 и 30 числа каждого месяца »
Логика вопроса требует не копировать, а перемещать. Да и 30 февраля выглядит как-то одиозно. Может быть 1-го и 15?
Вот вариант, укажите правильно пути
Код: Выделить весь код
@Echo Off
cls
:В системе дата должна быть в формате ДД.ММ.ГГГГ 

Set "BoxIn=Z:\Box_In"
Set "Mask=KoDB*.bak"

Set "BoxOut=Z:\Box_Out"
Set "BoxArc=Z:\Box_Out\Old"

Set /A ND1=1
Set /A ND2=15
Set /A DOld=7

Set "Arc="C:\Program Files\WinRAR\WinRar.exe" a -ep -to%DOld%d -df"

Set "DD=%Date:~0,2%"
Set "MM=%Date:~3,2%"
Set "YYYY=%Date:~6,4%"

Set /A ND=1%DD%-100

Set /A DD1=%ND1%+100
Set "DD1=%DD1:~-2%"

Set /A DD2=%ND2%+100
Set "DD2=%DD2:~-2%"

If %ND1% LEQ %ND% If %ND% LSS %ND2% Set "NameDir=%YYYY%%MM%%DD1%" 
If %ND% GEQ %ND2% Set "NameDir=%YYYY%%MM%%DD2%" 

If Not Exist "%BoxArc%\%NameDir%\*.*" (
	Md "%BoxArc%\%NameDir%"
	Move /Y "%BoxOut%\*.*" "%BoxArc%\%NameDir%\" >nul
)
%Arc% "%BoxOut%\%YYYY%%MM%%DD%.rar" "%BoxIn%\%Mask%"
GoTo :Eof

Как это работает:
Лучше всего батник поместить в планировщик и выполнять каждый день (хотя можно и чаще, можно и реже)
До начала архивации в батнике анализируется день в дате.
Если день, допустим, 1<=ДД<15, или ДД>=15 и нет папки соответственно BoxArc\ГГГГММ01 или BoxArc\ГГГГММ15, то эта папка создаётся и всё содержимое папки BoxOut переносится туда.
Далее архивируются файлы из папки BoxIn по указанной маске старше указанного количества дней в папку BoxOut под именем ГГГГММДД.rar Архиватор удаляет исходные файлы.

-------
Даже самая сложная проблема обязательно имеет простое, лёгкое для понимания, неправильное решение. Каждое решение плодит новые проблемы.


Последний раз редактировалось megaloman, 31-05-2017 в 07:54.


Отправлено: 21:37, 30-05-2017 | #9