Войти

Показать полную графическую версию : Сканируем каталоги, льем в реестр и стартуем службу


Enlightener
13-04-2012, 11:18
Уважаемые гуру командной строки! Для вас наверняка это будет ерундой, я же своими руками впервые сделал cmd-файл, но он получился такой топорный, что и показывать не хочется :) (хотя он почти так и работает, как описано ниже). От вас хотелось бы более изящных решений... Мастер-класс, так сказать.

ИТАК, внимание, вопрос:

Есть 7 каталогов (dir1...dir7), в которых в произвольном порядке, периодически (достаточно редко), могут появляться файлы. Есть некая win-служба (назовем её serviceX), которая должна эти файлики оттуда забирать по мере появления. И каталоги, и служба находятся на сервере (24х7), так что и описанный процесс должен жужжать в том же режиме.
Условия задачи:
- по умолчанию служба остановлена;
- командный файл сканирует все 7 каталогов на предмет появления в них файлов (IF EXIST);
- в зависимости от того, в каком каталоге появились файлы, ДО запуска службы должны примениться определённые пара ключей в реестре (REG ADD; тоже 7 вариантов);
- служба стартует (NET START), забирает файлы из каталога (на экране желательно указать, в каком из каталогов нашлись файлы);
- имя обнаруженного файла вместе с именем каталога и временем обнаружения вписывается в log-файл;
- после того, как файлы пропадут из каталога (или по таймеру; например, в 60 секунд), служба останавливается;
- сканирование каталогов продолжается.

Элементарщина, конечно, но мой кривой cmd-шник получился почти в 70(!) строк, хотя нутром чую, что всё это можно сочинить изящнее, логичнее и правильнее, уместив при этом строк в 25-30.

С нетерпением жду советов и решений...




© OSzone.net 2001-2012