![]() |
Выгрузка по рабочим дням
Добрый день.
Есть такая задача выгружать архив клиентов на FTP, 15 и 30 числа, но если эти дни приходятся на праздник или выходной то выгружаем ранее. Bat файл выгрузки мной уже написан, а вот не могу сообразить как написать проверку, помогите пожалуйста. Хочется автоматизировать эту задачу. Также хочется чтобы была проверка по файлу в котором указаны праздничные дни, и если праздники то выгрузить ранее. Также есть проблема с Февралем там 28 дней, то есть выгрузка 28 или ранее, если попадает выходной на 28. Пример: Сегодня 28 число, Пятница, 30 число попадает на Воскресение, но нужно выгрузить сегодня. Взял код из темы "CMD/BAT - [решено] Переменная Дня недели" все хорошо но не соображу какой алгоритм проверки сделать, подскажите кто чем может. |
kddkda, С выходными - задача решаемая. (кстати - что такое "выходной" - только воскресенье?) Но насчёт праздников ... Не знаю, какие у Вас законы, но у нас частенько перед праздниками практикуется перенос рабочих дней, чтобы увеличить число нерабочих дней вподряд (тут уж понятие "выходные" может извращаться как угодно). У нас есть такой праздник -Пасха, а за ним и Радуница(у нас нерабочий день), который в каждом году приходится на свой день.
ИМХО, решение задачи - задать в батнике на год (или более) расписание дней, когда надо чего-то там делать, и ежедневно в планировщике заданий этот батник запускать. Либо изменить постановку задачи: 1 и 15 (или 14) число есть всегда. Логика 1 числа: если нет архива текущего месяца - сделать его. Логика 15 числа: если за текущий месяц нет архива за число >= 15, делаем его. Наверное, в этом случае на каждую выгрузку надо будет создать лог-файл с именем по дате выгрузки. Выбирайте, что Вас устроит, можно затем предлагать код командного файла. |
Цитата:
|
Цитата:
|
Цитата:
Вариант проверки при таком раскладе будет, к примеру, таким: файл с датами запуска.txt
Код:
01.01.2018 проверка
Код:
findstr %date% "файл с датами запуска.txt" && ( |
Вот батник с расписанием. Меня напрягает, если батник будет ссылаться на какой-то текстовый файл. Этот батник можно таскать куда угодно, не задумываясь о сопутствующем файле
Код:
@Echo Off Если надо сделать выгрузку, можно её вставить в процедуру :UpLoad, сейчас там просто Echo Для получения текущей даты применил WMIC, чтобы не задумываться о выбранном формате даты в системе |
Доброе Утро.
Спасибо за ответы, извиняюсь что долго не отвечал. Мысль такая появилась, проверяем ТДата +1, если выходной (Суббота или Воскресенье) или праздник, то выгрузить сегодня. Так как все государственные праздники известны то их можно забить один раз, а вот дни переноса праздничных можно заполнять через внешний TXT файл в начале года так как все переносы проходят через официальные документы в начале года. megaloman, спасибо за код. Рабочий вариант выложу тут в теме, надеюсь найду время за выходные. |
Время: 23:08. |
Время: 23:08.
© OSzone.net 2001-