FileRouter v. 0.3 help

Консольная утилита по перекладыванию файлов по каталогам и отправке на почту.

Работает на Windows 2000/XP/Vista/7. Установка не требуется.

Распространяется по лицензии GNU GPL v.3

GPL дает вам множество прав:

… и накладывает всего одну обязанность:

Полный текст лицензии на английском языке

ВАЖНО!!! ВЫ ИСПОЛЬЗУЕТЕ ДАННЫЙ ПРОГРАММНЫЙ ПРОДУКТ НА СВОЙ СТРАХ И РИСК!!!
Автор заранее слагает с себя ответственность за весь возможный ущерб, причиненный программой.

Описание

Утилита настраивается через файл frouter.ini (кодировка win1251)

Запускать: frouter.exe имя_правила [deleteatom]
Где имя_правила: имя правила для обработки из frouter.ini
deleteatom - удаление признака повтора, если что-то заело

Одновременный запуск одного и того же правила блокируется (разные могут исполнятся одновременно).

Формат файла правил froute.ini

Строка содержащая знак # (решетка) - считается коментарием и не обрабатвается

Каждая строка задает одно действие и записывается в виде:
rule=имя_правила; act=действие; s=источник; d=приемник; contain=строка_в_файле;
Точка с запятой (;) обязательна и обозначает окончание параметра.

Каждое правило может состоять из нескольких строк. Действия при этом выполняются сверху вниз

Действиями (act) могут быть:
Copy - копировать
Move - переместить
Send - отправить файл по почте
SendMsg - отправить уведомление на почту, без отправки самого файла
RunWait - запустить внешнюю программу с ожиданием
RunNoWait - запустиь внешнюю программу без ожидания
UnRar - распаковать архив rar

Действие выполняется над файлами указанными в источнике (s). Это полный путь к каталогу и маска файла. Например:
rule=test; act=Copy;  s=d:\temp\0\*; d=d:\temp\1;
Скопирует все файлы из d:\temp\0\ в d:\temp\1

Дополнительно можно указывать, что файл должен содержать заданную строку параметром contain=строка; (Сравнение регистрозависимое)

В имени каталогов можно указывать дату/время в %. Например %YYMMDD% - преобразуется в текущую дату. Т.е. что-то вроде d:\temp\%YYMMDD%\1\*

Для RunWait и RunNoWait испльзуется параметр cmd=имя_запускаемого_файла.
Файл запускается если в источнике есть указанные файлы.
rule=имя_правила; act=RunWait; s=d:\temp\*.*; cmd=c:\balalaika.exe;

Для указания параметров почтового сервера используется специальное правило:
rule=settings; mailsrv=почтовый_сервер; mailfrom=адрес отправителя; mailport=номер_порта;
Эту строку можно указывать несколько раз, соответственно для последующих строк будут менятся значения (например можно поменять только mailfrom). Авторизация не поддерживается.

Для отправки файла на почту:
rule=имя_правила;  act=Send;   s=d:\test\in\*.*; to=адреса получателей через запятую; subj=Тема письма; text=Текст письма;
В теме и тексте можно использовать %filename% - имя файла, %file% - полное имя файла

Для отправки уведомления о файлах на почту:
rule=имя_правила;  act=SendMsg;   s=d:\test\in\*.*; to=адреса получателей через запятую; subj=Тема письма; text=Текст письма;

Для распаковки Rar
rule=имя_правила; act=UnRar;  s=d:\test\in\*.rar; d=E:\test\%file%;
%file% - создаст каталог с именем архива (без расширения)
Rar.exe - должен находится в каталоге с программой.

Во время работы ведутся логи. Запись идет в подкаталог log программы. Файлы логов имеют имя ГГММДД-имя_правила.log - каждый файл соответсвует одному дню одного правила.

Благодарности

Написано на fpc/Lazarus. Лицензия GNU LGPL.
Использован компонент Synapse. Лицензия BSD.

Контакты

Вопросы, предложения, замечания принимаются по адресу atsave@narod.ru
Сайт программы: http://atsave.narod.ru

Приложение

Допустимые символы заключаемые в знак "%", для преобразования в текущую дату/время в имени каталогов. Остальные символы останутся без преобразования. Например допустимо %YY-MM-DD% или %year YYYY month MM day DD%

Символ
Описание
c Отображение даты, согласно настройкам для короткой даты с добавлением времени, согласно настройкам для полного отображения времени.
d День месяца без 0 (1-31).
dd
День месяца с 0 (01-31).
ddd Абреввиатура дня недели (Sun-Sat), используя настройки ОС для коротких названий дней недели
dddd Полное название дня недели (Sunday-Saturday) используя настройки ОС для полных названий дней недели
ddddd Дата согласно настройкам для отображения короткой даты
dddddd
Дата согласно настройкам для отображения полной даты
m Номер месяца без 0 (1-12). Если идет сразу за h или hh, отображаются минуты
mm Номер месяца с 0 (01-12). Если идет сразу за h или hh, отображаются минуты
mmm Абреввиатура для названия месяца (Jan-Dec) используя настройки ОС для коротких названий месяцев
mmmm Полное название месяца (January-December), используя настройки ОС для полных названий месяцев
yy Последние две цифры года (00-99).
yyyy Год (0000-9999).
h Час без 0 (0-23).
hh Час с 0 (00-23).
n Минуты без 0 (0-59).
nn Минуты с 0 (00-59).
s
Секунды без 0 (0-59).
ss Секунды с 0 (00-59).
z Миллисекунды без 0 (0-999).
zzz Миллисекунды с 0 (000-999).
t
Время, согласно настройкам короткого формата времени
tt Время, согласно настройкам длинного формата времени
am/pm Использовать 12 часовое представление времени и указывать "am"/"pm" для часов
a/p Использовать 12 часовое представление времени и указывать "a"/"p" для часов
ampm Использовать 12 часовое представление времени и указывать заданные в настройках ОС значения вместо "am"/"pm" для часов
/ Отображает разделитель даты из настроек даты/времени ОС.
: Отображеет разделить времени из настроек даты/времени ОС.
'xx'/"xx" Символы заключенные в одинарные или двойные кавычки не преобразовываются

Помните, что отображение параметров даты/времени, зависящих от настроек ОС может отличаться на разных компьютерах.