Alex_Piggy
Advanced Member | Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору Добрый день, AlexSUNder Цитата: если там стоит 23, то выходной файл будет попадать под шаблон "ast_totk23_*.rar", а письмо будет иметь адрес - "email23_2(3......9)_qwerty@mail.com". Верно? Верно. Адрес фиксирован относительно цифр. Т.е., например: ast_totk23_*.rar имеет адрес email23_4_qwerty@mail.com ast_totk47_*.rar имеет адрес email47_qwerty@mail.com ast_totk1_*.rar имеет адрес email1_3_qwerty@mail.com | Я немного не то имел в виду... Я думал, что полученные цифры можно подставить в шаблон и получить адрес. Тогда бат будет немного по другому (VBS изменю, когда будет время.) Код: @echo off echo off > foundedfiles.list echo | sed d set "FolderIn=D:\Test\A\Input" set "FolderOut=D:\Test\A\Output" set "MailList=%~dp0maillist.txt" set "EmailSubj=test" set "EmailText=test" set "EmailSMTP=test" set "EmailUser=test" set "EmailPass=test" set "EmailAdr=test" for /f "delims=" %%i in ('dir /b "%FolderIn%"') do ( for /f "delims=" %%j in ('echo %%i ^| sed -n -e "s/otk\([0-9]\+\).*/\1/ip"') do ( (1>>foundedfiles.list echo ast_totk%%j_) for /f "delims=" %%k in ('dir /b "%FolderOut%\ast_totk%%j_*"') do ( for /f "tokens=2" %%m in ('findstr "ast_totk%%j_" "%MailList%" ') do echo blat -t "%%m" -u "%EmailUser%" -pw "%EmailPass%" -f "%EmailAdr%" -s "%EmailSubj%" -body "%EmailText%" -server "%EmailSMTP%" -attach "%FolderIn%\%%i" -attach "%FolderOut%\%%k" ))) for /f "delims=" %%l in ('dir /b "%FolderOut%" ^| findstr /b /v /g:foundedfiles.list') do echo del "%FolderOut%\%%l" | Рядом с батником должен лежать файл maillist.txt с шаблонами и адресами email, разделенными пробелами. Один файл на строку. Образец: Код: ast_totk10_ email10_4_qwerty@mail.com ast_totk11_ email11_qwerty@mail.com ast_totk14_ email14_qwerty@mail.com ast_totk4_ email4_qwerty@mail.com | Сейчас он просто выводит команды для проверки. Для запуска удалите echo перед del и blat (первая снизу и третья снизу строки) |