Як створити і відправити архіви поштою з bat файлу

Багато води утекло з тих пір як, я написав невеличкий батник і помістив його виконання в віндовий планувальник. З тих пір це найстабільніша річ, яка працює без втручання адміністратора. У мене пішло чимало часу, перш ніж я зібрав з уривків команд потрібний мені алгоритм. Коротко: з сервера додатків вивантажується 2 файлу, необхідно їх запакувати і відправити поштою.

Отже маємо 2 tab файлу: Summa _ *. Tab, Reg_ * tab

* - це поточна дата, тому що додаток в кінець імені файлу дописується поточну дату.

Для початку стискаємо файли, але тому що корпоративний поштовий сервер за раз не пропускав більше 3 Мб, було вирішено робити архіви по 2500 КБ. Для цього використовуємо наступну конструкцію:

«C: \ Program Files (x86) \ WinRar \ rar» a -agYYYY-MM-DD-HHMMSS -v2500 C: \ Temp \ archive_.rar m [f] C: \ Temp \ Summa _ *. Tab C: \ Temp \ Reg_ * tab

У підсумку на виході маємо архів з ім'ям archive_agYYYY-MM-DD-HHMMSS.rar, як ви напевно вже зрозуміли, за формування дати відповідає ключ -agYYYY-MM-DD-HHMMSS, а за обрізання архіву ключ -v2500. Якщо в стислому вигляді, розмір перевищить 2500 КБ, то буде створено 2 файли з іменами:

archive _ YYYY-MM-DD-HHMMSS.part02.rar

Тепер необхідно відправити архіви на пошту. Для цього запустимо цикл:

- Переносимо файли, які ми стиснули в папку:

move C: \ temp \ Summa _ *. tab C: \ temp \ back

-Для відправки пошти я використовував утиліту sendemail

sendemail -f [email protected] -t [email protected] -u archive_.ATE:

0,2% »-s IP -a« C: \ temp \% NName% .rar »-cc [email protected] -xu tlegen -xp 123456

Насправді, у мене в сорочки з короткими рукавами дані рядка прописані кілька разів, тому що бувають випадки коли архівів створюється 2,3 або навіть 4, ви теж можете помістити нижченаведений код:

sendemail -f [email protected] -t [email protected] -u archive_.ATE:

0,2% »-s IP -a« C: \ temp \% NName% .part01.rar »-cc [email protected] -xu tlegen -xp 123456

sendemail -f [email protected] -t [email protected] -u archive_.ATE:

0,2% »-s IP -a« C: \ temp \% NName% .part02.rar »-cc [email protected] -xu tlegen -xp 123456

Якщо ви помітили, 2 команди я розділив командою ping server -n 10, це робиться для того, щоб створити інтервал між командами. Пінгувати можна комп'ютер з якого проводиться відправлення файлів.

коротко поясню значення ключів, які я використовував:

-f [email protected] - в поле Від кого буде записаний цю адресу

-t [email protected] - це поле Кому відправити лист

-xu Ім'я користувача для авторизації на сервері

- Наостанок переносимо відправлений архів в іншу папку, щоб не відправляти його заново.

move c: \ temp \ archive _ *. rar c: \ temp \ back