Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Скриптовые языки администрирования Windows (http://forum.oszone.net/forumdisplay.php?f=102)
-   -   Сканируем каталоги, льем в реестр и стартуем службу (http://forum.oszone.net/showthread.php?t=232729)

Enlightener 13-04-2012 11:18 1898746

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

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

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

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

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


Время: 20:27.

Время: 20:27.
© OSzone.net 2001-