Имя пользователя:
Пароль:
 | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] Отправка почты с вложением

Ответить
Настройки темы
CMD/BAT - [решено] Отправка почты с вложением

Старожил


Сообщения: 186
Благодарности: 0

Профиль | Отправить PM | Цитировать


Добрый день. Есть the Bat v.3 и есть папка C:\otpravka\ в которую периодически кидаются файлы с расширениями *.014 и *.015. Нужен скрипт, который бы каждый файл из папки отправлял отдельным письмом. Почта отправителя otpravitel@mail1.mail2.ru

Файлы с расширением *.014 необходимо отправлять на poluchatel1@mail1.mail2.ru. Файлы с расширением *.015 необходимо отправлять на poluchatel2@mail1.mail2.ru

Тема всех писем одинаковая - INFO

Отправлено: 12:20, 05-07-2013

 

Ветеран


Сообщения: 2205
Благодарности: 730

Профиль | Отправить PM | Цитировать


Цитата foma24:
а если в bat войти просто такого окна нет, такое ощущение что почтовый ящик просто не заведен ? »
я бат не устанавливал (см. пост выше), почтовые ящики рабочие.

Отправлено: 16:18, 11-07-2013 | #21



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

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Аватара для sunnykey

Пользователь


Сообщения: 124
Благодарности: 47

Профиль | Отправить PM | Цитировать


Цитата foma24:
небольшая проблемка, почему то при вводе timeout /? появляется
"TIMEOUT" не является внутренней или внешней
командой, исполняемой программой или пакетным файлом.
Хотя на другом компьютере все нормально, может что то с Path ? »
Проверь на проблемном компе, существует ли файл %windir%\system32\timeout.exe
По оф. мануалу это приложение есть в WinXP и выше
http://technet.microsoft.com/en-us/l...=ws.10%29.aspx

-------
cmd умри, powershell живи=)
Powershel 4.0 microsoft.com/ru-ru/download/details.aspx?id=40855

Это сообщение посчитали полезным следующие участники:

Отправлено: 16:21, 11-07-2013 | #22


Старожил


Сообщения: 186
Благодарности: 0

Профиль | Отправить PM | Цитировать


нет его там, хотя XP стоит

Отправлено: 16:26, 11-07-2013 | #23


Ветеран


Сообщения: 27449
Благодарности: 8088

Профиль | Отправить PM | Цитировать


sunnykey, не верьте. Ни в Windows 2000, ни в Windows XP его нет (только в Resource Kit'ах, с отличающимся форматом).

foma24, что скажете по поводу «start /wait»?
Это сообщение посчитали полезным следующие участники:

Отправлено: 16:32, 11-07-2013 | #24


Аватара для sunnykey

Пользователь


Сообщения: 124
Благодарности: 47

Профиль | Отправить PM | Цитировать


Цитата Iska:
sunnykey, не верьте. Ни в Windows 2000, ни в Windows XP его нет (только в Resource Kit'ах, с отличающимся форматом). »
Да я уже на 95% задач по автоматизации использую Powershell, поэтому меня особо не волнует
Цитата Iska:
foma24, что скажете по поводу «start /wait»? »
Думаю стоит привести пример с использованием данной команды
Код: Выделить весь код
start /wait thebat.exe /MAILU=otpravitel;TO=poluchatel1@mail1.mail2.ru;S=INFO;A="%put%\%%i";SEND
читать дальше »
Код: Выделить весь код
C:\>start /?
Запуск указанной программы или команды в отдельном окне.

START ["заголовок"] [/D путь] [/i] [/MIN] [/MAX] [/SEPARATE | /SHARED]
      [/LOW | /NORMAL | /HIGH | /REALTIME | /ABOVENORMAL | /BELOWNORMAL]
      [/NODE <узел NUMA>] [/AFFINITY <маска сходства>] [/WAIT] [/b]
      [команда/программа] [параметры]

    "заголовок" Заголовок окна.
    путь        Исходный каталог.
    B           Запуск приложения без создания нового окна с отключением
                обработки сочетания клавиш ^C. Если приложение не
                обрабатывает сочетание клавиш ^C самостоятельно,
                единственным способом его прерывания является
                использование сочетания клавиш ^Break.
    I           Новой средой станет исходная среда, переданная
                cmd.exe, а не текущая среда.
    MIN         Запуск команды/программы в свернутом окне.
    MAX         Запуск команды/программы в развернутом окне.
    SEPARATE    Запуск 16-разрядной программы Windows в отдельной
                области памяти.
    SHARED      Запуск 16-разрядной программы Windows в общей
                области памяти.
    LOW         Запуск приложения с приоритетом IDLE.
    NORMAL      Запуск приложения с приоритетом NORMAL.
    HIGH        Запуск приложения с приоритетом HIGH.
    REALTIME    Запуск приложения с приоритетом REALTIME.
    ABOVENORMAL Запуск приложения с классом приоритета ABOVENORMAL
    BELOWNORMAL Запуск приложения с классом приоритета BELOWNORMAL
    NODE        Указывает предпочтительный узел NUMA
                в качестве десятичного целого числа.
    AFFINITY    Содержит маску сходства процессора в виде шестнадцатеричного
                числа. Процесс будет выполняться только на этих процессорах.

                Маска сходства интерпретируется по-разному при совмещении
                параметров /AFFINITY и /NODE. Укажите маску сходства таким
                образом, как если бы маска процессора узла NUMA сдвинута вправо
                и начинается на нулевом бите.
                Выполнение этих процессов ограничено процессорами,
                общими для указанной маски сходства и узла NUMA.
                Если общих процессоров не существует, то выполнение
                процесса ограничено указанным узлом NUMA.
    WAIT        Запуск приложения с ожиданием его завершения.
    команда/программа
                Если это внутренняя команда cmd.exe или пакетный файл,
                обработчик команд (cmd.exe) запускается с ключом /K.
                Это означает, что окно не будет закрыто после завершения
                команды.

                Если это не внутренняя команда cmd.exe и не пакетный файл,
                значит, это программа, которая будет запущена в графическом
                или текстовом окне.

    параметры   Параметры, передаваемые команде/программе.

Примечание: параметры SEPARATE и SHARED не поддерживаются на 64-разрядных
платформах.

Указание параметра /NODE позволяет создавать процессы таким образом, чтобы
использовать память в системах NUMA. Например, два процесса, которые
взаимодействуют друг с другом через общую память, могут совместно использовать
один и тот же предпочтительный узел NUMA для минимизации задержки памяти.
Память выделается из одного узле NUMA по возможности, что позволяет процессам
выполняться на процессорах вне указанного узла.

    start /NODE 1 application1.exe
    start /NODE 1 application2.exe

Эти процессы можно ограничить для выполнения на определенных процессорах в
одном узле NUMA.  В следующем примере приложение application1 выполняется
на низкоприоритетных процессорах узла, а приложение application2 выполняется
на двух следующих процессорах узла.  В этом примере предполагается, что
указанный узел имеет минимум четыре логических процессора.  Обратите внимание
на то, что номер узла можно изменить на другой действительный номер для
компьютера без изменения маски сходства.

    start /NODE 1 /AFFINITY 0x3 application1.exe
    start /NODE 1 /AFFINITY 0xc application2.exe

Изменения вызова внешних команд из командной строки или с помощью команды
START при включении расширенной обработки команд:

Для вызова неисполняемых файлов через механизм сопоставления типов файлов
    достаточно просто ввести имя файла в командной строке.  Например, команда
    WORD.DOC запускает приложение, сопоставленное расширению имени файла .DOC.
    Сведения о создании подобных сопоставлений из пакетных файлов приведены
    в описаниях команд ASSOC и FTYPE.

При запуске 32-разрядного приложения с графическим интерфейсом пользователя
    обработчик команд CMD.EXE не ожидает завершения работы приложения перед
    возвратом к приглашению командной строки.  Подобное новое поведение НЕ
    относится к запуску приложений из пакетных файлов.

При выполнении командной строки, первым элементом которой является текстовая
    строка "CMD" без расширения имени файла или указания пути, она заменяется
    значением переменной COMSPEC. Это предотвращает запуск CMD.EXE из
    текущей активной папки, если таковая программа там имеется.

Если первый элемент командной строки не содержит расширения имени файла,
    обработчик команд CMD.EXE использует значение переменной среды PATHEXT,
    чтобы определить расширения имен исполняемых файлов и порядок поиска
    нужного файла.  По умолчанию для переменной PATHEXT задается
    значение:

        .COM;.EXE;.BAT;.CMD

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

Если при поиске исполняемого файла нет соответствия ни одному из расширений,
выполняется проверка соответствия указанного имени папки. Если имя папки
соответствует указанному, то команда START запускает EXPLORER для этого
пути. Если такое действие выполняется из командной строки, то оно
эквивалентно выполнению команды CD /D для указанного пути.
Это сообщение посчитали полезным следующие участники:

Отправлено: 16:44, 11-07-2013 | #25


Старожил


Сообщения: 186
Благодарности: 0

Профиль | Отправить PM | Цитировать


Iska, «start /wait» опробую завтра и отпишусь, спасибо

Отправлено: 16:58, 11-07-2013 | #26


Старожил


Сообщения: 186
Благодарности: 0

Профиль | Отправить PM | Цитировать


Немного поменялась проблема, батник такого вида:

Set put=C:\otchet1
Set put1=C:\otchet2
For /f "Delims=" %%i In ('Dir /b "%put%\*.*"') Do (
"C:\Program Files\The Bat!\thebat.exe" /MAILU=otpravka@mail.ru;TO=poluchenie1@mail.ru;S=INFO;A="%put%\%%i";SEND
)

For /f "Delims=" %%i In ('Dir /b "%put1%\*.*"') Do (
"C:\Program Files\The Bat!\thebat.exe" /MAILU=otpravka@mail.ru;TO=poluchenie2@mail.ru;S=INFO;A="%put1%\%%i";SEND
)

del /Q C:\otchet1\*.*
del /Q C:\otchet2\*.*

Данный батник установлен в Назначенные задачи, чтобы отрабатывался каждые 2 минуты начиная с 9-00. Сам the bat включается автоматически при запуске винды раньше чем начинает работать батник.

Так вот при первом запуске батника в 9-00 он просто удаляет файл и не отправляет его, если повторно положить файл в папку, то он отправляется.

Отправлено: 09:30, 12-07-2013 | #27


Аватара для sunnykey

Пользователь


Сообщения: 124
Благодарности: 47

Профиль | Отправить PM | Цитировать


[q=foma24]Так вот при первом запуске батника в 9-00 он просто удаляет файл и не отправляет его, если повторно положить файл в папку, то он отправляется. »
а если перед удалением добавить
Код: Выделить весь код
ping -n 30 127.0.0.1>nul

-------
cmd умри, powershell живи=)
Powershel 4.0 microsoft.com/ru-ru/download/details.aspx?id=40855

Это сообщение посчитали полезным следующие участники:

Отправлено: 11:09, 12-07-2013 | #28


Старожил


Сообщения: 186
Благодарности: 0

Профиль | Отправить PM | Цитировать


попробую, но уже утром в понедельник, спасибо

Отправлено: 11:29, 12-07-2013 | #29


Ветеран


Сообщения: 2205
Благодарности: 730

Профиль | Отправить PM | Цитировать


а не проще удаление файлов сунуть в соответствующий цикл-удаление после успешной отправки?
Код: Выделить весь код
For /f "Delims=" %%i In ('Dir /b "%put%\*.*"') Do (
 "C:\Program Files\The Bat!\thebat.exe" /MAILU=otpravka@mail.ru;TO=poluchenie1@mail.ru;S=INFO;A="%put%\%%i";SEND && del /q "%put%\%%i"
 )
Это сообщение посчитали полезным следующие участники:

Отправлено: 13:24, 12-07-2013 | #30



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] Отправка почты с вложением

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
[решено] отправка письма с вложением, класс PHPMailer zvezda_t Вебмастеру 2 26-11-2010 11:53
отправка почты msaus Вебмастеру 3 18-08-2006 18:16
The BAT! Отправка почты - help! Guest Хочу все знать 6 24-07-2004 02:36
Отправка почты (The Bat) Goliase Хочу все знать 6 27-03-2004 11:45
Отправка письма с вложением pauluss Вебмастеру 5 20-02-2004 02:34




 
Переход