|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - Условия bat файлом - проверить день и месяц создания |
|
CMD/BAT - Условия bat файлом - проверить день и месяц создания
|
Новый участник Сообщения: 1 |
Нужна помощь с пакетными файлами, хочу настроить сложную (как мне кажется, или просто сложную для моего уровня) систему резервного копирования данных (базы 1С).
на локальном компьютере есть 4 папки: hour day month year в папке "hour" есть папки с часом когда запускается батник (08, 10, 12, и т.д.) в папке "day" 31 папка соответственно дню месяца в папке "month" 12 папок на каждый месяц в папке "year" папки соответствующие году с батниками которые архивируют, переименовывают(ЧЧММ_ДДММГГГГ.rar) и копируют каждые 2 часа я вроде как справился. Пример батника на 16 часов rem Назначение переменной FileName даты и времени For /F "Delims=." %%I In ('WMIC.exe OS Get LocalDateTime ^| Find "."') Do Set DT=%%I set FileName=1CBK_1600_%DT:~6,2%%DT:~4,2%%DT:~0,4% set timedate=16:00 %DT:~6,2%.%DT:~4,2%.%DT:~0,4% if exist "D:\a\KDUNF8" GOTO step1 if not exist "D:\a\KDUNF8" GOTO error1 :step1 rem Архивирование и переименование D:\rar\Rar.exe a "D:\b\%FileName%.rar" "D:\a\KDUNF8" if exist "D:\b\%FileName%.rar" GOTO step2 if not exist "D:\b\%FileName%.rar" GOTO error2 :step2 rem Копирование нужного файла copy "D:\b\%FileName%.rar" "D:\b\1_hour\16\%FileName%.rar" if exist "D:\b\1_hour\16\%FileName%.rar" GOTO step3 if not exist "D:\b\1_hour\16\%FileName%.rar" GOTO error3 :step3 rem запись лога del /S /Q "D:\b\%FileName%.rar" echo %timedate% Успешно Файл %FileName%.rar успешно создан и копирован >> "D:\a\result.log" exit :error1 echo %timedate% Ошибка Не найдена база KDUNF8>> "D:\a\result.log" exit :error2 echo %timedate% Ошибка Папка %FileName% не заархивирована>> "D:\a\result.log" exit :error3 echo %timedate% Ошибка Файл %FileName% не скопирован>> "D:\a\result.log" exit Нужно чтобы вечером после 22:00 каждого дня батник копировал нужную базу в нужный день папки Day, т.е. как я себе это представляю условие: если в папке .../hour/22 есть архив созданный сегодня то нужно его скопировать в папку day сегодняшнего дня (удалив архив прошлого месяца) , если там его нет (вдруг свет маргнул), то тоже самое проверить в папке .../hour/20 и т.д. И если и в папке .../hour/08 тоже не нашел (вдруг целый день света небыло), то написать в логах, что нет архива за этот день соответственно раз в месяц тоже самое проделывать. Допустим в феврале 28 дней, значит в папках 29,30 и 31 будут январские копии, нужно чтобы батник сравнил текущий месяц и месяц создания архива в папке .../day/31, выяснил что месяц прошлый, и залез в .../day/30. и так далее пока не найдет архив этого месяца и положит его в папку ...month/02 (ну или соответствующего месяца). и по аналогии с папкой year Буду очень признателен. Заранее спасибо |
|
Отправлено: 19:43, 20-12-2013 |
Старожил Сообщения: 280
|
Профиль | Отправить PM | Цитировать Только у меня создается что, как то сильно усложнили процедуру бэкапов.
Цитата r4zoom:
Цитата r4zoom:
Насчет Цитата r4zoom:
Ну и напоследок. вот пример на PS. Делает бэкап папки в папку с именем "YYYY_mm_dd_HH.MM" И удаляет все с датой последнего изменения свыше 31 день. |
|||
Отправлено: 13:40, 22-12-2013 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Цитата Molchune:
|
|
Отправлено: 00:45, 23-12-2013 | #3 |
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
CMD/BAT - [решено] Включение/отключение устройств одним .bat файлом | BuSHmaker | Скриптовые языки администрирования Windows | 34 | 01-04-2019 21:57 | |
CMD/BAT - [решено] Создание bat который будет создавать другой bat для создания 3 | root13 | Скриптовые языки администрирования Windows | 5 | 27-10-2013 15:46 | |
Разное - помогите с bat файлом | vasmixser | Программирование и базы данных | 6 | 25-10-2013 12:05 | |
CMD/BAT - Перезапустить службу bat файлом | ruslanstep1 | Программирование и базы данных | 8 | 26-06-2013 13:03 | |
Разное - странности с bat-файлом | бУРов | Microsoft Windows 7 | 0 | 05-03-2012 16:44 |
|