Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Скриптовые языки администрирования Windows (http://forum.oszone.net/forumdisplay.php?f=102)
-   -   [решено] Копирование файла по расписанию и его отправка по почте (http://forum.oszone.net/showthread.php?t=190608)

LokkyZ 08-11-2010 16:31 1537742

Копирование файла по расписанию и его отправка по почте
 
Есть одна процедура, которая выполняется каждый день и хотелось бы автоматизировать этот процесс. В CMD\BAT не силен, не моя сфера; но предполагаю что эту задачу можно решить именно и помощью батника.
Суть: каждый день приблизительно в 16-00 в расшаренной папке (путь LSLOG\E$\Log-files; LSLOG - название кластера, адрес пусть будет 127.0.0.1) появляется файл (ну допустим test1.log). Его необходимо автоматом перебросить в другую похожую папку (тоже есть назв. кластера, адресс). При этом время появления файла, его название и время переброса файла в другую папку надо записать в экселевский файл и отправить его по адресу, по почте. Собственно говоря все. :)

NiOl 08-11-2010 23:18 1538078

Код:

@echo off
rem Время с небольшим запасом на "приблизительно в 16-00"
Set CheckTime=16:05
rem Каталог, где файлики "появляются"
Set Src="\\LSLOG\E$\Log-files\"
rem Каталог, куда их "перебрасывать"
Set Dst="\\127.0.0.1\C$\TEMP\"
Set Mask=*.log

if not exist "%~dpn0.csv" echo Created;File Name;Moved>"%~dpn0.csv"
pushd %Src%
for /f "tokens=* delims=" %%f in ('dir /b /a-d %Mask%') do (
move /Y %%f %Dst%>nul 2>>"%~dpn0.err"
echo %%~tf;%%f;%Date% %Time:~0,-3%>>"%~dpn0.csv"
)
popd
at %CheckTime% %ComSpec% /c start "" /low /min %self%

на выходе получаем файлик *.cvs (по названию "батника"). Как отправить его по почте - смотрите по форуму, например здесь: Результаты поиска по тегу "почт*"

* файл запускаем, он делает немедленную проверку и ставит себя в задания шедулера в ближайшее указанное время, т.е. запустили в 5 вечера - "автозапуск" будет завтра в 16:05, а если запустили в 3 дня - повтор будет сегодня же, в 16:05 по расписанию ;)

LokkyZ 09-11-2010 09:55 1538249

Спасибо! :)

amel27 10-11-2010 07:18 1539011

NiOl, переменная self не определена ;)

NiOl 12-11-2010 23:52 1541378

Цитата:

Цитата amel27
NiOl, переменная self не определена ;) »

Черт, вот что значить копипэстить второпях... и тестить через "echo [command] :sorry:

LokkyZ, Ошибочка! После "@echo off" надо дописать строку "set Self="%~0"".
хотя здесь Shift не используется и можно было обойтись вызовом просто "%~0"

regiser 23-06-2011 23:30 1700558

Господа

аможет кто знает такой сайт на который можео отправить заархивированый документ и там выставить расписание что бы этот документ отправился например 1 августа когда сам человек будет в другом городе или стране или просто что бы не забыть ну и прописать там адреса куда этот документ должен быть отправлен

ferget 24-06-2011 00:32 1700592

gmail вроде позволяет письма слать по расписанию

regiser 24-06-2011 02:22 1700617

Цитата:

Цитата ferget
gmail вроде позволяет письма слать по расписанию »

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

Tuchin.S.A 03-10-2011 16:49 1765024

Почему-то не копирует по времени, этот "скрипт" должен висеть где-нибудь в процессах или службах?


Время: 00:53.

Время: 00:53.
© OSzone.net 2001-