Войти

Показать полную графическую версию : ониторинг каталога на предмет появления файлов и e-mail оповещение о их появлении.


Romano
27-07-2013, 18:22
Приветствую всех!

Необходим такой скрипт VBS:
При запуске скрипта проверяется сетевой каталог на предмет появления там файлов по определенной маске.
Например:
\\servername\inputdir\*1234*.pdf
\\servername\inputdir\*abcd*.xls
\\servername\inputdir\4321ab*.dbf
.....
(тут желательно исключить проблемы с регистром имен файлов и масштабируемость на появление новых типов файлов и масок)


Если файлы удовлетворяющие маске найдены, то отправить на корпоративную почту groupmessage@corp.domain.ru e-mail оповещение о поступивших файлах.

Текст сообщения, например, такой "Внимаение! В каталоге имя_каталога обнаружен(ы) файлы имя_файла для обработки!"

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

Скрипт должен запускаться на сервере без установки дополнительного софта стандартным планировщиком Windows.


Выручайте!

Заранее благодарю всех, кто поучаствует в теме.

Iska
27-07-2013, 21:17
1. Скрипт будет исполняться на том же сервере, где разделён ресурс? Т.е., к папке можно будет обратиться по локальному пути?

2. Что будет дальше с обнаруженными файлами?

3. Что с вложенными папками на ресурсе?

Romano
28-07-2013, 06:35
1. Скрипт будет исполняться на том же сервере, где разделён ресурс? Т.е., к папке можно будет обратиться по локальному пути? »

Нет. Сервер с планировщиком сам по себе, а папка в которую поступают файлы находится на другом сервере. Т.е. диск нужно подключать как сетевой диск. Также хотел поставить скрипт в планировщик на своем ПК для контроля. Таким образом для универсальности лучше использовать в скрипте UNC пути.

2. Что будет дальше с обнаруженными файлами? »

Пока ничего не планируется, только оповещение. Файлы приходят нерегулярно, а пропуск своевременной обработки определенных файлов из входящего каталога критичен.

3. Что с вложенными папками на ресурсе? »

Вложенных папок нет.

Iska
29-07-2013, 00:51
Таким образом для универсальности лучше использовать в скрипте UNC пути. »
К сожалению, WMI не будет работать с UNC-путями. Либо нужен административный доступ к серверу и опять-таки знание локального пути. Как вариант могу предложить опробовать FileSystemWatcher - класс (System.IO) (http://msdn.microsoft.com/ru-ru/library/system.io.filesystemwatcher.aspx):
You can create a component to watch files on a local computer, a network drive, or a remote computer.

Примеры использования, думаю, найдёте. Навскидку: Подписка на события ОС в Powershell | SMEARG (http://smearg.wordpress.com/2011/09/13/%D0%BF%D0%BE%D0%B4%D0%BF%D0%B8%D1%81%D0%BA%D0%B0-%D0%BD%D0%B0-%D1%81%D0%BE%D0%B1%D1%8B%D1%82%D0%B8%D1%8F-%D0%BE%D1%81-%D0%B2-powershell/). Тем паче, что для PS не проблема уведомление и в трее вывести.




© OSzone.net 2001-2012