|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] Отправка скриншота на email |
|
|
CMD/BAT - [решено] Отправка скриншота на email
|
Новый участник Сообщения: 12 |
Здравствуйте. Помогите, пожалуйста, написать батник. Не обессудьте, если задача слишком сложна или же проста, я батниками пока умею лишь копировать ><
Суть задачи: Есть папка со скриншотами, например, C:\Dropbox\Public\img\ В ней время от времени (после нажатия PrintScreen) появляются картинки. Их имена имеют одинаковое начало, например, Capture и одинаковый формат: .JPEG. Единственное их отличие - нумерация. Соответственно, файлы выглядят следующим образом: Capture1.JPEG, Capture2.JPEG, Capture3.JPEG и т.д. При появлении новых файлов должен запускаться батник, лежащий в любом месте, например, в папке с этими файлами. Его автоматически запустит программа (Auto Screenshot Maker), которая делает скриншоты после того, как сохранит скриншот. В самом батнике адрес к папке должен преобразовываться из C:\Dropbox\Public\img\ в http://dl.dropbox.com/u/1033383/img/ Дальше самое сложное, вроде бы, что я вообще не понимаю, как сделать: батник должен определять последний файл в папке (то есть файл с наибольшим числом после Capture), добавлять его к адресу, чтобы получилось, например, http://dl.dropbox.com/u/1033383/img/Capture1.JPEG и отправлять его на почтовый ящик, например, example@example.com Желательно, чтоб функционал этого батника был в .exe, а-то я что-то сомневаюсь, что программа запустит иные форматы. Помогите, пожалуйста, я очень нуждаюсь в вашей помощи! Заранее безмерно благодарен! |
|
Отправлено: 13:22, 22-02-2012 |
Старожил Сообщения: 415
|
Профиль | Отправить PM | Цитировать Сам скрипт:
@Echo Off For /F "eol=# delims== tokens=1,2 usebackq" %%A In ("config.ini") Do (Set %%A=%%B) For /F "delims=" %%F In ('Dir "%WorkDir%\Capture*.jpeg" /A:-D /B /O:-D') Do ( blat.exe -server %Server% -u %Login% -pw %Password% -subject "Screenshot" -body "http://dl.dropbox.com/u/%ID%/img/%%F " -to %EMail% -f %Login% -attach "%WorkDir%\%%F">nul Exit ) # Директория со скриншотами WorkDir=C:\Dropbox\Public\img # ID дропбокс-юзера Set ID=1033383 # Получатель EMail=guest@mail.ru # Почтовый сервер для отправки Server=smtp.mail.ru # Логин Login=script.backup@mail.ru # Пароль к ящику Password=test123 Во вложении к этому посту - уже откомпилированный в exe скрипт со всеми нужными вложениями и конфигурационный файл, если захотите сами откомпилировать - используйте этот конвертер, и не забудьте вложить blat.exe, blat.lib и blat.dll. |
Отправлено: 15:32, 22-02-2012 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Новый участник Сообщения: 12
|
Профиль | Сайт | Отправить PM | Цитировать Вау! Не ожидал такой быстрой реакции! Спасибо огромное!
Потестил... почему-то не отправляет. Ни с моего компа, ни с ещё одного. Все данные введены верно, проверил несколько раз. В чём может быть проблема, не подскажете? Как оно происходит: запускаю файл, он распаковывает блат, видимо, отправляет, файлы блат снова пропадают. Вероятно, больше ничего и не должно быть. Но во входящих как ничего не было, так и нет. Оба почтовые ящики - гугловские. Сервером указан smtp.gmail.com. В настройках гугла у обоих ящиков разрешены IMAP и POP. Также на всякий случай выключены фаерволы. p.s. также была отключена функция smtp на уровне провайдера у обоих компьютеров, включил в личном кабинете и переподключился к интернету - безрезультатно. |
Отправлено: 16:36, 22-02-2012 | #3 |
Старожил Сообщения: 415
|
Профиль | Отправить PM | Цитировать Проверьте на всякий случай, указав отправляющим ящиком именно тот, тестовый, на mail.ru, с паролем test123. С gmail я не проверял, подозреваю, что там надо принудительно порт указывать.
У меня локально всё отработало, вот: Я не могу воспроизвести вашу проблему с неотправкой письма (пробовал на xp sp3 и winserver 2008), соответственно, и подсказать, как ее решить, тоже не могу. |
Отправлено: 17:04, 22-02-2012 | #4 |
Новый участник Сообщения: 12
|
Профиль | Сайт | Отправить PM | Цитировать Anonymоus, да, похоже, нужно принудительно порт указывать, в гугл-инструкциях указано (POP, IMAP).
С вашими данными всё замечательно отправляется. В принципе, так как всё отправляется, проблему можно считать решённой. Но если вы всё-таки подскажете, как отправить гугловской почтой, будет совсем здорово, ибо компьютеров у меня несколько (3: мать, отец и сестра, мой не в счёт) и было бы здорово отличать не только по скриншоту, с которого приходит письмо, а почта у всех гугловская. |
|
Отправлено: 17:24, 22-02-2012 | #5 |
Старожил Сообщения: 415
|
Профиль | Отправить PM | Цитировать andrew_gurylyov@vk, после непродолжительных поисков в интернете выяснилось, что логин в Gmail производится исключительно через SSL, чего blat "из коробки" не умеет делать. Для этого нужна дополнительная программа Stunnel. Вам проще будет сделать несколько копий config.ini с разными не-gmail отправляющими ящиками (получателем может быть и gmail).
Кстати, я заметил ошибку - замените в config.ini строку Set ID=1033383 на ID=1033383, без Set UPD: Если всё же захотите использовать gmail, вот тут есть статья о настройке stunnel http://slaviksg.narod.ru/texts/smtpgmail.htm Скрипт в таком случае, придется немножко подправить (добавить -port 465 к аргументам blat) и откомпилировать заново. |
Отправлено: 17:42, 22-02-2012 | #6 |
Новый участник Сообщения: 12
|
Профиль | Сайт | Отправить PM | Цитировать Может быть, вы подскажете, как через Stunnel сделать? По идее, на эти компьютеры сколько угодно чего угодно ставить можно
![]() |
Отправлено: 17:51, 22-02-2012 | #7 |
Старожил Сообщения: 415
|
Профиль | Отправить PM | Цитировать Вот же, снизу шестого сообщения ссылка. Я только что сам нашел эту страницу в поисковике, так что сомневаюсь, что обьясню вам лучше, чем там описано.
|
Отправлено: 17:57, 22-02-2012 | #8 |
Новый участник Сообщения: 12
|
Профиль | Сайт | Отправить PM | Цитировать И снова не получается(
Я даже завёл новую почту на имя Blat Stunnel. Как вы посоветовали: blat.exe -port 465 -u %Login% -pw %Password% -subject "Screenshot" -body "http://dl.dropbox.com/u/%ID%/img/%%F " -to %EMail% -f %Login% -attach "%WorkDir%\%%F">nul blat.exe -serverSMTP 127.0.0.1 -port 465 -try 1 -u %Login% -pw %Password% -subject "Screenshot" -body "http://dl.dropbox.com/u/%ID%/img/%%F " -to %EMail% -f %Login% -attach "%WorkDir%\%%F">nul blat.exe -serverSMTP 127.0.0.1 -portSMTP 465 -try 1 -u %Login% -pw %Password% -subject "Screenshot" -body "http://dl.dropbox.com/u/%ID%/img/%%F " -to %EMail% -f %Login% -attach "%WorkDir%\%%F">nul Все эти варианты не заработали( |
Отправлено: 19:02, 22-02-2012 | #9 |
Старожил Сообщения: 415
|
Профиль | Отправить PM | Цитировать andrew_gurylyov@vk, если честно, не хочется возиться с этим stunnel - его устанавливать нужно ещё, запускать как службу. У вас jabber-аккаунт есть? Могу помочь с отправкой уведомлений на любой jabber-аккаунт, только не на серверах google. Jabber.ru например, или яндексовский.
Ещё одна из причин, по которой могло не заработать - у вас в ini-файле логин записан, как Login=blatstunnel@mail.ru |
Отправлено: 20:06, 22-02-2012 | #10 |
|
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
CMD/BAT - cmd определение ip и отправка на email | exekill | Скриптовые языки администрирования Windows | 1 | 15-01-2012 17:40 | |
V. 2010 - [решено] Отправка email средствами sql server 2005 через exchange | VladDV | Microsoft Exchange Server | 2 | 12-08-2011 12:58 | |
Разное - Программа для скриншота с веб-камеры | DIKPro | Microsoft Windows 7 | 22 | 05-08-2011 03:53 | |
[решено] Отправка Email с авторизацией на сервере средствами AutoIt | WIFI | AutoIt | 2 | 26-03-2010 15:06 | |
Создание скриншота | morgan1991 | AutoIt | 0 | 19-02-2010 22:43 |
|