Имя пользователя:
Пароль:
 

Показать сообщение отдельно

Пользователь


Сообщения: 140
Благодарности: 92

Профиль | Отправить PM | Цитировать


Под CMD такой сценарий не сделать, ну не работает он с mail.object (на форуме это есть и описание утилиты Blat тоже):

Возможные варианты сценариев можно написать на VBS, JS и PS.

Предлагаю скрипт на vbs (files_control.vbs ) :

Код: Выделить весь код
Option Explicit 
Dim objFSO, objFile
Dim strPath2SourceFolder, strMessage, strheadlist  
Dim intPrefixб Count, Message, iConf,  Flds

strPath2SourceFolder   = "директория расположения контролируемых файлов"  
strMessage = vbNullString

Set objFSO = WScript.CreateObject("Scripting.FileSystemObject")     
For Each objFile In objFSO.GetFolder(strPath2SourceFolder).Files
if UCase(objFSO.GetExtensionName(objFile.Name)) = UCase("dbf") And _
 DateDiff("D", objFile.DateLastModified, Now) = 0 Then

 Count=Count+1
 strMessage = strMessage & Count & ". " & objFSO.GetFileName(objFile.Name) & vbCrLf

 Attach = "" & strPath2SourceFolder & objFSO.GetFileName(objFile.Name) _
& "" ' * Получаем имя файла с путем

End If

Message.AddAttachment (Attach)  ' * Описываем вложение для отправки

next

strMessage = "Следующие файлы были изменены:" & vbCrLf & strMessage
strMessage = strMessage & vbCrLf & "Всего измененных файлов: "& Count

if Count > 0 Then
' непосредственно блок работы с почтой ---------------------------------------------------------------------------------
Set Message = CreateObject("CDO.Message") 
Message.To = "кому@mail.ru"
Message.From = "от_кого@mail.ru"
Message.Subject = "RE: ! Warning!"
Message.TextBody = strMessage
Message.BodyPart.Charset = "windows-1251"

Set iConf = CreateObject("CDO.Configuration")
Set Flds = iConf.Fields
Flds.Item("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2
Flds.Item("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "smtp.mail.ru"
Flds.Item("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 2525
Flds.Item("http://schemas.microsoft.com/cdo/configuration/smtpconnectiontimeout") = 10
Flds.Item("http://schemas.microsoft.com/cdo/configuration/sendpassword") = "Ваш_пароль"
Flds.Update
Message.Configuration = iConf
Message.Send

End If
WScript.Quit 0
Небольшое пояснение: проверка осуществляется по дате последнего изменения файлов с заданным расширением, после этого формируется список измененных файлов, который и отправляется на e-mail... , твое "заданное время" определяется строкой " DateDiff("D", objFile.DateLastModified, Now) = 0 ", в которой параметр = 0 и определяет этот интервал, можно использовать знаки "> <", например: > 7, т.е. если некие файлы были изменены более 7 дней назад, то жди весточку на почту...

Подсказку для написания подобного скрипта под PS можно найти з д е с ь, для JAVA мне писать лень...



PS: Скрипт обновлен! Все недочеты исключены!
PPS: В сценарий внесена функция отправки измененных файлов, строки выделены красным цветом. [24.08.2010]

Последний раз редактировалось deepred, 25-08-2010 в 11:03. Причина: Пояснения + доработка + отправка файлов

Это сообщение посчитали полезным следующие участники:

Отправлено: 18:37, 05-07-2010 | #3