Показать полную графическую версию : [решено] Копирование файла по расписанию и его отправка по почте
Есть одна процедура, которая выполняется каждый день и хотелось бы автоматизировать этот процесс. В CMD\BAT не силен, не моя сфера; но предполагаю что эту задачу можно решить именно и помощью батника.
Суть: каждый день приблизительно в 16-00 в расшаренной папке (путь LSLOG\E$\Log-files; LSLOG - название кластера, адрес пусть будет 127.0.0.1) появляется файл (ну допустим test1.log). Его необходимо автоматом перебросить в другую похожую папку (тоже есть назв. кластера, адресс). При этом время появления файла, его название и время переброса файла в другую папку надо записать в экселевский файл и отправить его по адресу, по почте. Собственно говоря все. :)
@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 по расписанию ;)
NiOl, переменная self не определена ;)
NiOl, переменная self не определена ;) »
Черт, вот что значить копипэстить второпях... и тестить через "echo [command] :sorry:
LokkyZ, Ошибочка! После "@echo off" надо дописать строку "set Self="%~0"".
хотя здесь Shift не используется и можно было обойтись вызовом просто "%~0"
Господа
аможет кто знает такой сайт на который можео отправить заархивированый документ и там выставить расписание что бы этот документ отправился например 1 августа когда сам человек будет в другом городе или стране или просто что бы не забыть ну и прописать там адреса куда этот документ должен быть отправлен
gmail вроде позволяет письма слать по расписанию
gmail вроде позволяет письма слать по расписанию »
Ну вроде это не то, а тут задача в том что бы именно с какого то стороннего сайта отправлять бы а не сосвоего компа, что бы этого документа у тебя на компе и не было в итоге
Tuchin.S.A
03-10-2011, 16:49
Почему-то не копирует по времени, этот "скрипт" должен висеть где-нибудь в процессах или службах?
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.
Available in ZeroNet 1osznRoVratMCN3bFoFpR2pSV5c9z6sTC