Компания приобрела программный продукт с ежемесячной абонентской платой. И одна из условии использования этого софта, это то что мы должны предоставлять еженедельный отчёт из корневого каталога разработчику софта, который приходил раз в неделю. Меня это, конечно, не обрадовало и создавало неудобство в работе. И в конечном счёте мне это надоело и решил автоматизировать этот маленький процесс скриптом.

Задача:

Создать скрипт формирующий архив папки из корневого каталога софта 'D:\app\consultant\' и отправку архива вложенным письмом на электронный ящик.

Нам понадобится:

1) Подготовить папки в диске D:\

2) Написать скрипт .bat, который будет копировать нужную папку из корневого каталога софта, затем архивировать всё содержимое.

3) Написать скрипт .vbs, который будет отправлять вложенным письмом архив на конкретный email адрес.

4) Настроить и автоматизировать еженедельное выполнение скрипта через планировщик задач.

Скрипт архивирования напишем в.bat-нике средствами WinRar, а вложение архива в письмо и отправку, через скрипт '.vbs'.

Шаг 1. Подготовка папок в диске D:\

Сам софт лежит в разделе 'D:\App\Consultant\'

В 'диске D:\' создадим папку 'Backup' и 'Script'. В разделе 'D:\Backup\' создадим папку 'Consultant'.

 

dir1

В 'D:\Backup\Consultant\' будем копировать необходимые нам каталоги для архивации.

В 'D:\Script\' будут храниться наши скрипты.

Шаг 2. Архивирование каталога через WinRar

Архивировать и отправить на email нужно два каталога 'D:\App\Consultant\adm\' и 'D:\App\Consultant\receive\'

dir2

Архивировать каталог в .bat-нике будем приложением 'Rar'.

P.S. "В статье, в шаге 1-2 подробно приведён пример как 'Rar' прописать в переменную Path для того, чтобы приложение работала в командной строке 'cmd'".

Открываем блокнот, пишем команды:

D:
xcopy /S /E /H /Y D:\App\Consultant\adm\*.* D:\backup\consultant\adm\*.*
xcopy /S /E /H /Y D:\App\Consultant\receive\*.* D:\backup\consultant\receive\*.*
cd D:\backup\consultant\
rar a -o+ -r D:\backup\Consultant\archiv_consultant.rar *.*
rmdir /S /Q D:\backup\consultant\adm
rmdir /S /Q D:\backup\consultant\receive

Сохраняем файл под именем 'archiv_consultant.bat' в папке 'D:\scrypts\' (Для этого в окне Сохранение выберите тип файла: Все файлы\Аll types и введите имя файла)

bat1

Шаг 3. Вложение архива в письмо и отправка через скрипт .vbs

В качестве почтового клиента используем в скрипте .vbs внешний ресурс от microsoft http://schemas.microsoft.com/, пропишем учетные данные и параметры сервера от почтового ящика отправителя

Открываем блокнот, пишем команды:

 Set objEmail = CreateObject("CDO.Message")
objEmail.From = "email адрес отправителя" Например: "Этот адрес электронной почты защищён от спам-ботов. У вас должен быть включен JavaScript для просмотра." (вводить в двойных кавычках)
objEmail.To = "email адрес получаетля" Например: "Этот адрес электронной почты защищён от спам-ботов. У вас должен быть включен JavaScript для просмотра." (вводить в двойных кавычках)
objEmail.Subject = "Тема пиьсма" (вводить в двойных кавычках)
objEmail.Textbody = "Текст письма" (вводить в двойных кавычках)
objEmail.AddAttachment "D:\Backup\sent_email\archiv_consultant.rar" (Прописываем путь к архиву. вводить в двойных кавычках)
objEmail.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2
objEmail.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "адрес SMTP сервера почтового ящика отправителя" Например: "smtp.mail.ru" (вводить в двойных кавычках)
objEmail.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 25
objEmail.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate") = 1
objEmail.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/sendusername") ="имя\логин почтового ящика отправителя" Например: "Ivanov" (вводить в двойных кавычках)
objEmail.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/sendpassword") ="пароль почтового ящика отправителя" Например: "Password123!" (вводить в двойных кавычках)
objEmail.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpusessl") = False
objEmail.Configuration.Fields.Update
objEmail.Send

Сохраняем файл под именем 'send_email.vbs' в папке 'D:\scrypts\' (Для этого в окне Сохранение выберите тип файла: Все файлы\Аll types и введите имя файла)

 vbs1

Теперь в .bat-нике 'archiv_consultant.bat' осталось дописать команду запуска скрипта 'send_email.vbs':

start D:\Script\send_email.vbs

bat2

Также дополнительно можно прописать команду удаления предыдущего сформированного архива:

del D:\backup\Consultant\archiv_consultant.rar (команду прописать следующей строкой после знака D: )

bat3

Это поможет поддержать актуальность заново сформированных файлов для повторного запуска архивации.

Шаг 4. Настройка и автоматизация еженедельного выполнения скрипта через планировщик задач

Наш скрипт .bat-ник готов. Теперь осталось дело за малым. Автоматизируем отправку на email еженедельным запуском скрипта по расписанию.

Запустим Планировщик заданий: (Пуск | Администрирование | Планировщик заданий)

В левой панели щёлкаем по строке - 'Библиотека планировщика заданий'. Далее, в правой панели нажимаем - 'создать задачу'.

plane1

Во вкладке 'общие' задаём Имя, Описание (если это нужно), вводим учётную запись администратора от имени которого будет запускаться задача, ставим радиокружок 'Выполнять для всех пользователей' и галочку 'Выполнить с наивысшими правами'.

plane2

Далее, переходим во вкладку 'Триггеры' и создаём расписание запуска задачи.

plane3

Далее, переходим во вкладку 'Действия' и создаём запуск .bat-ника, который мы написали.

plane4

Остальные параметры и условия можно оставить по умолчанию. Готово!

Вот с такой идеей я хотел поделиться =) экспериментируйте. Хорошего вам архивирования =)

 

Комментарии  

0 # Marian 02.04.2017 11:01
I have read so many posts regarding the blogger lovers except this
article is genuinely a good article, keep it up.

Here is my site - manicure: http://proekt-hope.ru/detskij-konkurs-moi-zdorovye-privychki-startuet-v-mae/
Ответить | Ответить с цитатой | Цитировать
0 # EdgarClake 12.03.2018 01:12
Скоро лето - пора знакомиться и тесно общаться ;)
Загляни к нам, есть смысл попробовать.

п»їhttp://tiny.cc/zabqry
Ответить | Ответить с цитатой | Цитировать
0 # Lelandanarl 12.03.2018 18:34
Скоро лето - пора знакомиться и тесно общаться ;)
Загляни к нам, есть смысл попробовать.

http://bit.ly/2HpoI7c
Ответить | Ответить с цитатой | Цитировать
0 # Laurentum 13.03.2018 14:09
Скоро лето - пора знакомиться и тесно общаться ;)
Загляни к нам, есть смысл попробовать.

http://bit.do/d9S5x
Ответить | Ответить с цитатой | Цитировать
0 # Shawnhinia 06.11.2018 09:18
????? ??? ? ????? ??? ?? ?? ???? ????? ?? ???? ??? ????, ??? ?? ?? ??? ?????.
https://audiojungle.net/item/christmas-piano/19056234
Ответить | Ответить с цитатой | Цитировать

Добавить комментарий


Защитный код
Обновить