Архив рубрики: Windows

Как я делал управленческий учет в Excel

Я работаю обычным аналитиком и, так получилось, что летом 2014 года, участвуя в одном e-commerce проекте, на коленке за 3 недели сделал управленческий учет в MS Excel. Давно планировал и наконец-то решил выложить на Хабр. Думаю, будет полезно малым предпринимателям, понимающим важность управления финансовыми потоками, но не желающим тратить значительное количество времени и средств на ведение управленческого учета. Не претендую на истину в последней инстанции и буду рад иным решениям, предложенным участниками сообщества.


Бизнес, к которому я летом имел отношение, был обычным интернет-магазином одежды премиум и выше сегмента с оборотом около 1 млн рублей в месяц. Бизнес работал, не сказать, чтобы очень успешно, но работал и продолжает работать. Собственник понимал необходимость ведения управленческого учета и, с этим пониманием, взял меня в качестве финансового директора (аналитика/менеджера …), так как предыдущий ушел из бизнеса за 3 месяца до моего прихода. Собственно, дыра такой же продолжительности была и в ведении управленческого учета. Забегая вперед скажу, что дыру не устранил (решили не ворошить прошлое), но создал систему, которая успешно работает при минимальных трудозатратах и по сей день.

Мой предшественник вёл управленку в Финграде, который оказался весьма мощным инструментом. Например, он позволял автоматически грузить информацию из 1С и выписок разных банк-клиентов, создавая проводки по заранее сформулированным правилам. Вещь, безусловно полезная, однако, при соблюдении системы двойной записи увеличивала время работы в разы. Чтобы избежать увеличения работы этот инструмент позволял генерировать «зависимые проводки». В создании этих дополнительных проводок и была зарыта собака. И тут выяснилось, что за всей мощью Финграда крылась уникальность, обусловившая полное отсутствие экспертизы в свободном доступе. Обычным пользователям (платившим, кстати, 3000 рублей в месяц за доступ к системе) были доступны лишь «Руководство пользователя» на официальном сайте, да 6 видео-уроков там же. Youtube, дававший доступ к ещё паре десятков видеоуроков, также не сильно помогал. Форумов с информацией «how to…» не было в принципе. Поддержка, на конкретные вопросы о правилах создания «зависимых проводок» и просьбах помочь именно в моем случае — морозилась фразами «у нас с вами не заключен договор на поддержку, поэтому на такие специфические вопросы мы не готовы отвечать». Хотя казалось бы — чего специфического в таких просьбах, да ещё и со скриншотами с моей стороны? Понятно, что все можно бить руками, но спрашивается, а зачем тогда вообще платить за инструмент, который сильно увеличивает время, необходимое на ведение управленки и не дает никаких преимуществ для малого бизнеса?

Убедив собственника в нецелесообразности использования «Финграда» при таких объемах бизнеса и выгрузив всю информацию из системы, я поставил на нем БОЛЬШОЙ и жирный крест. При этом решение уйти именно в MS Excel было не спонтанным. Хорошенько загуглив на тему ведения управленческого учета находил монстров, похожих на «Финград», либо ссылки на веб-приложения для ведения личных финансов, в то время как основными требованиями к системе были:

— возможность ведения БДДС и БДР на основе изменяемого плана счетов;
— простота в дальнейшем ведении управленческого учета (в том числе силами «финансово-неграмотных» пользователей);
— гибкость (возможность на ходу расширять/убирать функционал);
— отсутствие перегруженности инструмента/интерфейса.

Для начала проясним термины: будучи не финансистом, под БДДС понимаю «Баланс Движения Денежных Средств», БДР — «Бюджет Доходов и Расходов». БДДС считаем кассовым методом (днем совершения операции — колонка «Дата операции») и используем для операционного day-to-day планиро

Автоматическая архивация данных 1C c помощью WinRAR

Иногда случаются казусы типа: БД «рухнула», кто-то что-то совершенно «случайно» грохнул, или вообще HDD скончался…. Первая мысль: сейчас бы архивчик…. А его частенько нет, ибо любим мы на русский «авось» полагаться. Предлагаю универсальный и безотказный способ автоматической архивации, не требующий ничего потустороннего, только известный всем архиватор WinRAR. Потратите 5-10 минут на настройку, и Вы спокойны.

Общее описание
     Метод основан на сочетании возможностей Windows (назначенные задания) и архиватора WinRAR (управление из командной строки), WinRAR потребуется «необрезанный».
Настройки «Назначенного Задания» позволят установить:
  • -Каким образом будет запускаться задание: при включении компьютера, по графику, вручную.
  • -Из какого режима работы компьютера будет запускаться задание: из рабочего или спящего.
  • -Дополнительные настройки для ноутов и прочего антиквариата ПК.
     Настройки WinRAR позволят: указать адрес архива, каталоги/файлы/списки для архивации. Уточнить состав архива по принципам: расширения файлов, время создания, наличие/отсутствие в архиве, «освежить» архив (обновить только файлы, которые в архиве есть), добавить файлы, вновь появившиеся по архивируемому адресу, удалить те, которые «пропали», впрочем, о возможностях WinRAR позже на примерах.
ВНИМАНИЕ! Если в настройках Winrar не указаны каталоги/файлы/списки для архивации, а указан только адрес архива: WinRAR займётся архивацией всей системы, и всего того, что доступно системе в данный момент. Это может привести к «нехорошему».
Проверено для: Windows 2000/2000 Server/XP/Server 2003/Windows 7/Server 2008.  
Настройки на примерах
     Описание по принципу: цель – способ решения, отклонения не описываю, только краткая справка в скобках. Уверен, на основе примеров Вы сможете составить именно Ваше задание. Итак:
1
ЦЕЛЬ: 1 раз в неделю архивировать все БД 1с, лежащие в одном каталоге. Задание должно добавлять в архив новое, удалять отсутствующее, статичные (неизменённые) файлы не трогать: обрабатываться будут только файлы: вновь созданные, изменённые,  удалённые. На «автоматике» это будет выглядеть так:
Создаём в Windows новое «назначенное задание». Запускается мастер. Предлагает выбрать програ

Работа с bat-файлами.

Пакетные или batch файлы это обычные текстовые файлы, содержащие наборы команд интерпритатора и имеющие расширение bat или cmd (cmd работают только в ОС семейства NT). Редактировать такие файлы можно при помощи блокнота или любого другого текстового редактора.
В этом FAQ собраны рекомендации, которые были протестированы на Windows 2000. Некоторые команды и переменные, использованные при написании примеров, отсутствуют в 9х.

Как создать batch файл?
Откройте блокнот и наберите две следующих строки:
@echo This batch file
@pause
Выберите Файл — Сохранить как, выберите Тип файла — Все файлы, в поле Имя файла введите 1.bat и сохраните его в корне диска С, например. Теперь откройте диск С и запустите файл 1.bat. На экран будет выведено две строки.
This batch file
Нажмите любую клавишу для продолжения…
После нажатия любой клавиши окно закроется, т.к. bat-файл выполнен.
Обратите внимание, что символ собаки перед каждой командой в bat-файле указывает на то, что саму команду выводить на экран не надо, а нужно вывести только результат ее работы. Чтобы поэкспериментировать удалите символ собаки из начала каждой строки, сохраните и запустите полученный bat файл.
Команды, используемые в bat файлах
Список команд, которые можно использовать в bat файлах, можно просмотреть, введя в командной строке (Пуск — Выполнить — cmd для Windows семейтва NT или Пуск — Выполнить — command для линейки 9х) команду
help
Результат работы help — список доступных команд с краткими пояснениями к ним. Чтобы получить более подробную информацию по интересующей команде введите в командной строке help имя_команды. Например, чтобы получить подробную справку по ключам команды AT выполните следующую команду:
help AT
В результате, на экран будет выведен список ключей для запуска команды AT из bat файла.
Если bat файл исполняется под управлением Windows (не в чистом DOS-е), то из него можно запускать любые приложения или открывать файлы. Например, нужно автоматически открыть лог-файл работы bat файла по завершении его работы. Для этого достаточно включить в bat файл последней строкой следующую команду:
start имя_файла.txt
Результатом выполнения
этой команды станет открытие файла имя_файла.txt, а сам bat файл завершит свою работу. Такой способ хорош, если лог-файл небольшого размера, иначе Блокнот откажется его открывать, предложив использовать WordPad. Но эта проблема так же решаема, что и будет показано в дальнейших примерах.
Как автоматизировать запуск bat файлов
Очень часто необходимо автоматизировать запуск bat файлов для выполнения ими рутинных операций. Для запуска bat файлов по расписанию наиболее подходит Планировщик, входящий в стандартную поставку Windows. С это помощью можно очень гибко настроить запуск пакетного файла в определенные дни или часы, с определенным интервалом. Можно создать несколько расписаний и т.д.
Для локального запуска batch файлов можно пользоваться решениями от третьих фирм, благо платных и бесплатных альтернатив стандартному Планировщику великое множество.
Batch файлы так же могут использоваться как логин-скрипты в доменах. При таком их использовании они будут исполняться при каждом входе пользователя в сеть не смотря на его желание. С их помощью можно автоматизировать сбор информации о машинах или о программном обеспечении, установленном на компьютерах пользователей, принудительно менять настройки Windows, устанавливать незаметно для пользователя программное обеспечение и автоматизировать решение других задач, ручное исполнение которых заняло бы очень много времени.
Как создать файл с произвольным именем из bat файла
Для создания файла в процессе выполнения пакетного файла используется символ перенаправления. Он выглядит так:
>
Т.е. чтобы создать файл нужно перенаправить поток с экрана в файл. Сделать это можно при помощи следующей команды:
@echo Start file>C:1.txt
После выполнения этой команды в корне диска С будет создан текстовый файл со строкой Start file.
При создании файла в его имени можно использовать системные переменные или их части. Например, можно создать файл-отчет о работе bat файла с именем, равным дате запуска bat файла. Для этого можно использовать следующие строки в bat файле.
set datetemp=%date:~-10%
@echo .>%SYSTEMDRIVE%%DATETEMP%.txt
Эти две строки работают следующим образом. Сначала в памяти создаем переменную datetemp, которой присваиваем 10 символов справа налево от системной переменной DATE. Таким образом, теперь во временной переменной datetemp содержится только текущая дата. Следующией строкой перенаправляем вывод символа точка в файл, имя которого берем из переменной datetemp, а расширение txt указываем явно. Файл будет создан на системном диске компьютера, где выполняется bat файл.
При сборе администратором информации о компьютерах в сети будет удобнее добавить к имени файла имя компьютера. Это легко можно сделать при помощи следующей команды:
@echo .>C:FolderName%COMPUTERNAME%.txt
Эта команда в ходе выполнения пакетного файла создаст на диске С текстовый файл с именем того компьютера, на котором выполняется пакетный файл.
Для создания файла с определенным именем можно использовать любые системные переменные, либо создать свои, на основе системных переменных и/или других данных.
Как создать папку из bat файла
Для создания папки используется команда MKDIR или ее сокращенный аналог MD. Для создания папки из bat файла нужно использовать следующую команду:
MD FolderName
После выполнения такой команды будет создана папка FolderName в папке, откуда запущен bat файл. Чтобы создать файл в отличном от запуска bat файла месте, например в корне диска D, используйте явное указание расположения новой папки. Команда будет выглядеть так:
MD D:FolderName
При создании папок можно пользоваться системными переменными. Например, можно создать в корне диска D папку с именем текущего пользователя. Для этого понадобится переменная %USERNAME%, а команда будет выглядеть следующим образом:
MD D:%USERNAME%
Можно еще более усложнить команду и создать папку с именем текущего пользователя на системном диске его компьютера. Команда для этого будет выглядеть так:
MD %SYSTEMDRIVE%%USERNAME%
При создании папок или файлов можно использовать любые системные переменные или их части. Следующий пример демонстрирует создание на системном диске компьютера пользователя папки с именем равным текущей дате.
set datetemp=%date:~-10%
MD %SYSTEMDRIVE%%datetemp%
Эта конструкция работает следующим образом.
Первая команда создает в памяти переменную datetemp, которая будет уничтожена по окончании работы bat файла. То тех пор, пока bat файл не закончил свою работу есть возможность оперировать со значением этой переменной. Переменной datetemp присваивается 10 символов справа налево от системной переменной DATE, т.е. от текущей даты. Переменная DATE имеет формат Дн ДД.ММ.ГГГГ. Первые символы слева — имя дня недели и поэтому мы их отбрасываем и присваиваем временной переменной datetemp только текущую дату.
Этим не ограничивается список возможностей при создании папок. Вы можете опрерировать переменными так, как удобно Вам, создавая папки с уникальными, легко читаемыми

Как отправить почту на SMTP сервер Gmail (Google) через программу Blat

Напоминаю, что программа Blat (http://www.blat.net) — это небольшая утилита, которая может посылать почту из «Командной строки». То есть, без полноценного почтового клиента. Может пригодиться для автоматизации оправки почты без участия пользователя.
Программа отлично работает с обычными SMTP серверами и описание наладки этого процесса достаточно хорошо документировано. И все было бы замечательно, но программа не умеет работать с SMTP серверами, которые при отправке почты требуют организации «Безопасного соединения» — SSL.
Хочется нам того, или не хочется, но это «Безопасное соединение» нам придется организовывать самим. И возьмем мы для этого программу «STunnel» (http://www.stunnel.org). Я лично качал программу по этой ссылке:
http://www.stunnel.org/download/stunnel/win32/stunnel-4.26-installer.exe

Инсталлируем программу, залезаем в корень этой проги и находим файл stunnel.conf Редактируем его и приводим этот вид:
; Some debugging stuff useful for troubleshooting
;debug = 7
;output = stunnel.log

; Use it for client mode
;client = yes

; Service-level configuration
[pop3s]
accept = 995
connect = 110

;[imaps]
;accept = 993
;connect = 143

[ssmtp]
accept = 465
connect = 25

к этому виду:
; Some debugging stuff useful for troubleshooting
debug = 7
;output = stunnel.log

; Use it for client mode
client = yes

; Service-level configuration
[pop3s]
accept = 127.0.0.1:1109
connect = pop.gmail.com:995

;[imaps]
;accept = 993
;connect = 143

[smtps]
accept = 127.0.0.1:1099
connect = smtp.gmail.com:465
После чего, воспользовавшись уже созданными во время инсталляции программы ярлыками в меню «Пуск» винды, «Инсталлируем службу» (Service install) и «Стартуем службу» (Service start).
Далее распаковываем (обычной инсталляции она не требует) программу Blat в каталог, (пусть это будет каталог C:Blat), и запускаем C:Blatblat.exe /? Программа выдаст все параметры, с которыми она может работать.
Теперь делаем один важный момент. Запускаем из «Командной строки» такую команду:
C:Blatblat.exe -install -serverSMTP 127.0.0.1 -portSMTP 1099 -try 1 -u vasya@gmail.com -pw 12345 -f vasya@gmail.com
C:Blatblat.exe — это, разумеется, путь, где сидит наш запускаемый екзешник
-install — это ключ, заставляющий Blat записать в реестр винды настройки, которые следуют далее в нашей командной строке
-serverSMTP 127.0.0.1 — это сервер SMTP (который прописан нами в настройках в «Stunnel».
-portSMTP 1099 — порт SMTP сервера (который прописан нами в настройках «Stunnel».
-try 1 — это число попыток, если отправка почты не удалась (необязательный параметр).
-u vasya@gmail.com — имя пользователя
-pw 12345 — пароль
-f vasya@gmail.com — от имени кого будет приходить почта

После выполнения строки, в реестре, по этому пути:
HKEY_LOCAL_MACHINESOFTWAREPublic DomainBlat
сохранятся настройки, которые потом уже не нужно будет указывать при отправке почты через Блат. Это удобно. К тому же, это еще и безопасно тем, что в дальнейшем вам не понадобиться в параметрах blat.exe, указывать свой пароль в открытом виде (в реестре он хранится в зашифрованном виде). Хочется отметить, что команду «-install » можно и не выполнять вовсе. Это не строго обязательно. Просто потом, в дальнейшем, в параметрах программы Blat, вам придется всегда указывать абсолютно все параметры, в том числе и пароль (в открытом виде). Полная строка в этом случае будет выгляде

Отправка электронной почтты из командной строки.



    Для отправки электронной почты из командной строки в операционных системах семейства Windows стандартных средств не предусмотрено, однако можно воспользоваться программным обеспечением сторонних производителей, как, например, бесплатной утилитой Blat     Утилита не требует установки, просто скачайте архив и распакуйте его в какой-нибудь каталог. Если вы планируете использовать blat.exe в командных файлах, то имеет смысл поместить ее в каталог, используемый в путях поиска исполняемых файлов по умолчанию (задаваемых переменной окружения PATH), например, windowssystem32 .

При выполнении, blat.exe может использовать некоторые параметры — профиль , который хранится в реестре Windows. Профилей может быть несколько и один из них может использоваться в качестве профиля по умолчанию. Для создания профиля используется ключ -install при запуске blat.exe. 

blat.exe -install smtp.mail.ru test@mail.ru 3 25 profile1 test@mail.ru пароль 

параметры, следующие за «-install» должны располагаться именно в таком порядке: 

smtp.mail.ru — имя почтового сервера, через который будет выполняться отправка электронных писем
test@mail.ru — имя отправителя, которое будет отображаться в поле From: 
3 — число попыток повторный отправки письма при сбое соединения с сервером. 
25 — номер порта SMTP-сервера
profile1 — имя профиля утилиты
test@mail.ru — имя пользователя, которое будет использоваться при подключении к SMTP-серверу
пароль — пароль, используемый при подключении к SMTP-серверу

После выполнения этой команды, в реестре будут созданы ключи, которые могут использоваться программой в качестве входных параметров.



Записи blat.exe в реестре
Имя пользователя (строковый параметр Login) и пароль (Pwd) хранятся в кодировке Base64 . Если вместо имени профиля использовать символ «-«, то такой профиль будет использован в качестве профиля по умолчанию, т.е. профиля, настройки которого будут использоваться программой, если явно не задан конкретный профиль. 

blat.exe -install smtp.mail.ru test@mail.ru 3 25 — test@mail.ru 

Параметры Blat.exe хранятся в ветке реестра

[HKEY_LOCAL_MACHINESOFTWAREPublic Domain]
Профиль по умолчанию хранится в ветке
[HKEY_LOCAL_MACHINESOFTWAREPublic DomainBlat]
Настройки для конкретного профиля 
[HKEY_LOCAL_MACHINESOFTWAREPublic DomainBlatимя профиля]

Для получения встроенной справки программы используется ключ -h

blat -h — выдача справки на экран
blat -h > C:blathelp.txt — выдача справки в файл C:blathelp.txt

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

Отправка письма с использованием профиля по умолчанию получателю test@ab57.ru:

blat.exe -body «Hello World» -to test@ab57.ru
Параметр -body используется для формирования текста в теле письма. Если текст содержит пробелы, то заключается в двойные кавычки. Параметр -to задает адрес получателя. Остальные данные, необходимые для отправки берутся из профиля по умолчанию (адрес SMTP- сервера, имя пользователя, пароль и т.п.). В качестве текста тела письма можно использовать содержимое файла, указав его имя вместо параметра -body 

blat.exe C:mytext.txt -to test@ab57.ru
Для отправки электронного письма без текста используется имя пустого файла (а не ключ -body без параметров, когда будет ожидаться ввод текста письма с клавиатуры)

Если используется текст на русском языке, то нужно указать кодировку, поддерживающую символы кириллицы, для чего используется ключ —charset :

blat.exe -body «Текст на русском» -to test@ab57.ru -charset utf-8
Для отправки писем с вложением файлов используется ключ -attach 

blat.exe -body «Текст на русском» -to test@ab57.ru -charset utf-8 -attach c:boot.ini
Если тема письма не задана, то blat.exe использует в поле темы строку Contents of file: stdin.txt. Для подавления стандартной темы можно использовать ключ -ss. Поле темы, в этом случае будет пустым. Для указания нужного текста в поле темы используется ключ -subect 

blat -body «TEST на русском» -subject Важно! -to test@ab57.ru -charset utf-8 -attach c:boot.ini

Для отправки письма с настройками из конкретного профиля используется ключ -p имя профиля 

blat.exe -body «this is text» -p profile1 -to test@domain.ru 

Для получения списка профилей, хранящихся в реестре на данный момент используется ключ -profile

blat -profile

В ответ будет выдано 

Blat v2.6.2 w/GSS encryption (build : Feb 25 2007 12:06:19)
Profile(s) for all users of this computer —
SMTP: smtp.mail.ru «test@mail.ru» 1 25 ***** *****
SMTP: smtp.mail.ru «test321@mail.ru» 3 25 profile1 ***** *****
Первая строка, начинающаяся с SMTP: относится к профилю по умолчанию, вторая — к профилю с именем profile1

Для отправки электронного письма без использования какого-либо профиля, в командной строке blat.exe нужно задать все те данные, которые хранятся в профиле.

blat -body «TEST» -to test@yandex.ru -server smtp.mail.ru -f test@mail.ru -u test@mail.ru -pw пароль

Если какой-либо из параметров не задан, он будет взят из профиля по умолчанию.

-server — имя сервера SMTP
-f — почтовый адрес отправителя
-u — имя пользователя, используемое для подключения к SMTP-серверу (AUTH LOGIN)
-pw — пароль пользователя. 

Автор: Guest Rooms «Varnaflats.eu»
Дата публикации: 2017-07-28T21:46:00.000-07:00

Отправка сообщений электронной почты из командной строки, с помощью утилиты Blat.exe

logo_cmd.pngСегодня я расскажу о том, как отправлять сообщения на электронную почту из командной строки. Можно привести массу ситуаций, когда необходимо выполнять данное действие. Например, для контроля выполнения различных регламентных заданий, резервного копирования баз данных и пр. А поможет нам в этом маленькая, удобная и абсолютно бесплатная утилита Blat.exe.

1. Утилита  Blat.exe

Скачать программу Blat можно с официального сайта или с текущего. На момент написания статьи последней была версия 3.0.7. В архиве 2 папки: full — непосредственно сама программа и docs — документация по программе. Для установки необходимо скопировать содержимое папки full в «C:Windowssystem32» или в любую другую директорию, но в этом случае при вызове программы придется указывать путь к исполняемому файлу. Я в своем примере буду использовать второй вариант.
Есть возможность сразу создать профиль для отправки сообщений, для этого необходимо выполнить «Blat -install smtp.yoursite.tld youruserid@yoursite.tld». Я не буду рассматривать данный режим работы. Подробнее читайте в файле «readme.txt».

2. bat-файлы для отправки сообщений

Если открыть файл «syntax.txt» из прилагаемой документации, то можно увидеть огромный список команд, поддерживаемый данной утилитой, что говорит о ее богатых возможностях. Выделим основные и получим следующий «батник» send_email.bat (скачать все файлы в одном архиве) для отправки сообщения с адреса report@mydomen.com на адрес user@mydomen.com:
rem *** Путь к программе blat.exe ***
set file_blat=D:blatblat.exe
rem *** Путь к файлу с текстом сообщения ***
set file_text=D:blatreport.txt
rem *** Путь к файлу для сохранения лога ***
set file_log=D:blatlog_blat.txt

rem *** Данные отправителя ***
set from_server=smtp.mydomen.com
set from_port=25
set from_mail=report@mydomen.com
set from_name=report
set from_pass=password

rem *** Данные получателя ***
set to_mail=user@mydomen.com
set to_subject="Report"

rem *** Отправка сообщения ***
%file_blat% %file_text% -server %from_server%:%from_port% -f %from_mail% -u %from_name% -pw %from_pass% -to %to_mail% -s %to_subject% -log %file_log% 
Таким образом, для отправки сообщения достаточно будет просто вызвать файл send_email.bat:
Blat_01
Можно доработать файл таким образом, чтобы адрес получателя и тема сообщения задавалась параметрами запуска. Вот содержимое такого bat-файла:
rem *** Путь к программе blat.exe ***
set file_blat=D:blatblat.exe
rem *** Путь к файлу с текстом сообщения ***
set file_text=D:blatreport.txt
rem *** Путь к файлу для сохранения лога ***
set file_log=D:blatlog_blat.txt

rem *** Данные отправителя ***
set from_server=smtp.mydomen.com
set from_port=25
set from_mail=report@mydomen.com
set from_name=report
set from_pass=password

rem *** Отправка сообщения ***
%file_blat% %file_text% -server %from_server%:%from_port% -f %from_mail% -u %from_name% -pw %from_pass% -to %1 -s %2 -log %file_log%
И пример его запуска с параметрами:
Blat_02
Если получателей несколько, то при вызове утилиты можно указать текстовый файл с адресами получателей сообщения:
rem *** Путь к программе blat.exe ***
set file_blat=D:blatblat.exe
rem *** Путь к файлу с текстом сообщения ***
set file_text=D:blatreport.txt
rem *** Путь к файлу для сохранения лога ***
set file_log=D:blatlog_blat.txt
rem *** Путь к файлу с адресами получателей ***
set file_to=D:blatmail_list.txt
rem *** Тема сообщения ***
set to_subject="Report"

rem *** Данные отправителя ***
set from_server=smtp.mydomen.com
set from_port=25
set from_mail=report@mydomen.com
set from_name=report
set from_pass=password

rem *** Отправка сообщения ***
%file_blat% %file_text% -server %from_server%:%from_port% -f %from_mail% -u %from_name% -pw %from_pass% -tf %file_to% -s %to_subject% -log %file_log%
Где файл mail_list.txt будет содержать адреса получателей разделенные переносом строки.
Ну и наконец, приведу пример файла, который я использую в данный момент. В нем все файлы находятся в директории с исполняемым bat-файлом, список адресов берется из файла, а тема письма задается параметром. Сделано это для того чтобы в зависимости от работы задания отсылать письма с разной темой. Например:
rem Резервное копирование завершилось успешно
call D:blatsend_email.bat "Backup - OK"
rem Резервное копирование завершилось c ошибкой
call D:blatsend_email.bat "Backup - ERROR"
Содержимое файла:
rem *** Основная директория файла ***
set dir=%~dp0
rem *** Путь к программе blat.exe ***
set file_blat=%dir%blat.exe
rem *** Путь к файлу с текстом сообщения ***
set file_text=%dir%report.txt
rem *** Путь к файлу для сохранения лога ***
set file_log=%dir%log_blat.txt
rem *** Путь к файлу с адресами получателей ***
set file_to=%dir%mail_list.txt

rem *** Данные отправителя ***
set from_server=smtp.mydomen.com
set from_port=25
set from_mail=report@mydomen.com
set from_name=report
set from_pass=password

rem *** Отправка сообщения ***
%file_blat% %file_text% -server %from_server%:%from_port% -f %from_mail% -u %from_name% -pw %from_pass% -tf %file_to% -s %1 -log %file_log%

3. Заключение

Данные примеры не описывают все возможности программы Blat.exe. Она поддерживает сервера SMTP, NNTP, POP3 и IMAP, есть возможность хранить настройки в файле или в реестре, прикреплять вложения в тело письма и многое другое. Я думаю, что взяв за основу предложенные выше файлы, вы сможете написать любой скрипт для отправки электронных сообщений при помощи этой замечательной утилиты.
Помогла ли Вам данная статья?

Автор: Guest Rooms «Varnaflats.eu»
Дата публикации: 2017-07-28T21:41:00.001-07:00