Программа nhsms позволяет обрабатывать входящие смс сообщения различными способами, в том числе, командными файлами (CMD). Командные файлы получают параметры СМС через переменные среды (рекомендованный способ) или параметры командной строки. В командном файле можно выполнить различные действия, такие как сохранение в файл или в базу данных, перезапуск компьютера и т.п.

Чтобы программа nhsms считала смску и передала её на обработку в командный файл, необходимо добавить строку CommandLine в группу Read конфиг файла, это можно сделать непосредственно в файле или с помощью редактора конфигурации на закладке Входящие сообщения:

[Read]
CommandLine=cmd.exe /u /c sms_append2list.cmd

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

Несмотря на то, что можно написать просто CommandLine=sms_append2list.cmd, и при этом командный файл будет запущен, рекомендуется использовать полную запись CommandLine=cmd.exe /u /c sms_append2list.cmd, т.к. при этом можно указать дополнительные параметры запуска командного файла, например, /u задаёт Unicode (вместо OEM) – это удобнее при сохранении в файл.
Например, если мы составим командный файл sms_append2list.cmd для добавления считанного сообщения в текстовый файл-список (одна смска на строку):

@echo off
echo %sms_type% %sms_messagetext%  >> sms-incoming.txt

то запись в файл будет выполнена в Unicode.

Другой пример обработки входящих сообщений с записью каждого сообщения SMS-DELIVER в отдельный файл, именуемый временем смски и номером отправителя, например, 20130802113458-79012223344.txt
Добавляем строку запуска в конфиг файл, сохраняя запуск первого CMD файла – теперь оба CMD файла будут запущены при считывании смс:

[Read]
commandline=cmd.exe /u /c sms_append2list.cmd
commandline=cmd.exe /u /c sms_deliver2file.cmd

Сам командный файл sms_deliver2file.cmd:

@echo off

rem Выходим, если это сообщение другого типа
if not "%sms_type%" == "SMS-DELIVER" exit /b 0

rem Сохраняем текст сообщения в файл
echo %sms_messagetext% > %sms_senttime_year%%sms_senttime_month%^
%sms_senttime_day%%sms_senttime_hour%%sms_senttime_min%%sms_senttime_sec%-^
%sms_sender%.txt

В результате принятые сообщения SMS-DELIVER будут сохранены в текстовые файлы и могут быть обработаны другими инструментами (сообщения SMS-STATUS-REPORT будут пропущены этим командным файлом).

См. также

Озвучивание входящих смс сообщений

Сохранение входящих смс в Excel

Входящие смс в nhsms
Метки:    

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

Ваш адрес email не будет опубликован.