PDA

Показать полную графическую версию : [решено] Копирование файла по расписанию и его отправка по почте


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

NiOl
08-11-2010, 23:18
@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 (по названию "батника"). Как отправить его по почте - смотрите по форуму, например здесь: Результаты поиска по тегу "почт*" (http://forum.oszone.net/showthread.php?t=188031&highlight=%EF%EE%F7%F2%2A)

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

LokkyZ
09-11-2010, 09:55
Спасибо! :)

amel27
10-11-2010, 07:18
NiOl, переменная self не определена ;)

NiOl
12-11-2010, 23:52
NiOl, переменная self не определена ;) »
Черт, вот что значить копипэстить второпях... и тестить через "echo [command] :sorry:

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

regiser
23-06-2011, 23:30
Господа

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

ferget
24-06-2011, 00:32
gmail вроде позволяет письма слать по расписанию

regiser
24-06-2011, 02:22
gmail вроде позволяет письма слать по расписанию »

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

Tuchin.S.A
03-10-2011, 16:49
Почему-то не копирует по времени, этот "скрипт" должен висеть где-нибудь в процессах или службах?




© OSzone.net 2001-2012