![]() |
Условия bat файлом - проверить день и месяц создания
Нужна помощь с пакетными файлами, хочу настроить сложную (как мне кажется, или просто сложную для моего уровня) систему резервного копирования данных (базы 1С).
на локальном компьютере есть 4 папки: hour day month year в папке "hour" есть папки с часом когда запускается батник (08, 10, 12, и т.д.) в папке "day" 31 папка соответственно дню месяца в папке "month" 12 папок на каждый месяц в папке "year" папки соответствующие году с батниками которые архивируют, переименовывают(ЧЧММ_ДДММГГГГ.rar) и копируют каждые 2 часа я вроде как справился. Пример батника на 16 часов Код:
rem Назначение переменной FileName даты и времени Нужно чтобы вечером после 22:00 каждого дня батник копировал нужную базу в нужный день папки Day, т.е. как я себе это представляю условие: если в папке .../hour/22 есть архив созданный сегодня то нужно его скопировать в папку day сегодняшнего дня (удалив архив прошлого месяца) , если там его нет (вдруг свет маргнул), то тоже самое проверить в папке .../hour/20 и т.д. И если и в папке .../hour/08 тоже не нашел (вдруг целый день света небыло), то написать в логах, что нет архива за этот день соответственно раз в месяц тоже самое проделывать. Допустим в феврале 28 дней, значит в папках 29,30 и 31 будут январские копии, нужно чтобы батник сравнил текущий месяц и месяц создания архива в папке .../day/31, выяснил что месяц прошлый, и залез в .../day/30. и так далее пока не найдет архив этого месяца и положит его в папку ...month/02 (ну или соответствующего месяца). и по аналогии с папкой year Буду очень признателен. Заранее спасибо |
Только у меня создается что, как то сильно усложнили процедуру бэкапов.
Цитата:
Цитата:
Насчет Цитата:
Ну и напоследок. вот пример на PS. Делает бэкап папки в папку с именем "YYYY_mm_dd_HH.MM" И удаляет все с датой последнего изменения свыше 31 день. |
Цитата:
|
Время: 04:53. |
Время: 04:53.
© OSzone.net 2001-