...назад

КОМАНДЫ РАСПИСАНИЯ

Каждый
раздел (кроме разделов меню и настроек) состоит из набора команд и строк комментариев. Комментарии также могут располагаться в одной строке с командами в конце строки ( однострочные комментарии, см.ниже). Пробелы в начале любой строки (включая имена разделов) игнорируются. В качестве комментария рассматривается строки, первым значащим символом которых является "точка с запятой"( ;).
Каждая строка, содержащая команду, состоит из четырех частей - , необязательной метки однократного выполнения, поля времени выполнения, собственно команды и необязательного однострочного комментария. Разделителем поля времени и команды может выступать пробел (несколько пробелов) или же разделитель может отсутствовать. Метка однократного выполнения обязательно должна отделяться от поля времени пробелом или знаком двоеточия. Однострочный комментарий всегда располагается в конце строки и должен отделяться от остальных частей комбинацией *! .
Слишком длинные команды, занимающие более ширины окна текстового редактора для удобства редактирования можно в любом месте разорвать и перенести оставшуюся часть на следующую строку. Разрывов может быть более, чем один, вернее, столько, сколько надо. В качестве указателя переноса строки служит комбинация *+ в конце предыдущей части (начала). Пробелы в начале перенесенных строк игнорируются. В каждой из частей-строк могут располагаться однострочные комментарии, но они должены быть помещены после ключа переноса строки (иначе последний оказывается в пределах комментария и игнорируется).
В поле времени кроме собственно времени может быть включен интервал повтора и момент остановки цикла для
циклических команд. В поле команды могут быть включены модификаторы команд. Таким образом, общий формат команды может быть записан следюущим образом:

; комментарий
.метка:время-время{интервал -стоп}м-р_окна м-р_запуска команда*!комментарий

Используя переносы строк, формат может быть следующий:

; комментарий
.метка:время-время{интервал -стоп}м-р_окна м-р_запуска коман*+*! комментарий 1
да (часть 2)*! комментарий 2

Время может быть задано четырьмя способами:
  1. непосредственно, в виде ЧЧ:ММ (обязательно все цифры, включая нули), например, 05:30. Вместо одной или нескольких цифр может быть записан "джокер", в качестве которого выступает знак "*". В этом случае данное знакоместо не участвует в проверке на наступление момента запуска. Команда, имеющая в поле времени комбинацию **:**, будет выполняться каждую минуту, а команда с временем **:*0 будет выполняться каждый час в 0, 10, 20 и т.д. минут. Команда, имеющая в поле времени 1*:15 будет выполнена в 10:15, 11:15, 12:15 ... до 19:15 включительно.
    Формат поля времени расширяется добавлением второго значения времени через дефис ("-"). Если время задано в таком формате, команда будет выполнена при первом вхождении в заданный интервал, то есть, если система загружена в пределах заданного интервала, то в момент загрузки, если система загружена ранее, то при наступлении границы интервала, если в пределах интервала система не функционировала, то команда не будет выполнена вообще. Команды, время выполнения которых задано таким образом, выполняются однократно в пределах сеанса работы Runner-a. Вторая граница интервала должна быть задана после дефиса БЕЗ ПРОБЕЛОВ между дефисом и первой границей и второй.
    Пример: 16:00-23:00 - если время выполнения команды задано таким образом, во сколько бы вы не включили свой ПК, эта команда будет выполнена, но не ранее, чем в 16:00 и не позднее, чем в 23:00.
  2. в виде задержки от момента запуска Runner'а, формат: ^XXX, где ХХХ - величина задержки в минутах. Пример: ^5 - через пять минут после запуска программы, ^ - сразу же при запуске (равнозначно ^0).
  3. в виде задержки от момента загрузки расписания, в том числе и при загрузке самого Runner-a. Формат: ~XXX, где XXX - задержка в минутах. Пример: ~1 - через минуту после загрузки расписания. Данный способ установки времени удобен для запуска циклов, которые прерываются в момент загрузки расписания, но не запускаются с помощью ^XXX, если это не первая в сеансе загрузка расписания.
  4. в виде задержки в секундах от момента выполнения предыдущей (расположенной непосредственно выше этой) команды. Формат: +XXX, где XXX - величина задержки в секундах. Это значение может отсутствовать, что равнозначно 0-й задержке. Это способ установки времени выполнения не позволяет использовать циклические команды. Пробелы между знаком + и значением задержки недопустимы. Можно использовать любое количество последовательно выполняемых команд, задержка запуска каждой из которых отсчитывается от момента выполнения предыдущей. Обязательно наличие первой команды с временем выполнения, заданным другим способом, иначе ни одна из этих команд выполнена не будет. Возможно использовать пустую команду (только время без исполнимой части) в качестве определяющей. Время определяющей команды может быть задано любым способом. Определяющая команда может быть циклической. Кроме того, подобные группы команд можно использовать и в разделе пользовательского меню.
Возможно выполнение команд не по времени, а асинхронно, при наступлении определенных событий. Для задания таких моментов используются "невозможные" значения времени, то есть значение часа более 23-х. Распознаются следующие значения:
  1. 97:xx для контроля положения курсора. Минуты (хх) определяют одну из четырех позиций: 00 - левый верхний угол экрана, 01 - правый верхний угол экрана, 02 - левый нижний угол, 03 - правый нижний угол. Команд может быть несколько, они выполняются при задержке курсора в крайней точке экрана в течение 0,4 секунды.
  2. 98:xx для момента завершения сеанса работы Windows;
  3. 99:xx для момента завершения Runner'a;
С помощью метки однократного выполнения возможно задать для команды выполнение только один раз в день, независимо от способа задания времени. Используя метку с, например, командами, выполняемыми при загрузке системы, можно определить приложения (как антивирусные сканеры), которые будут выполняться только при первой загрузке, и не будут выполняться при последующих, освобождая пользователя от необходимости закрывать ненужные в данный момент программы.
Метка размещается в начале строки состоит из префикса, идентификатора и разделителя. Формат:

.идентификатор:

Префикс представляет собой знак точки(".") или двоеточия(":"), причем последнее автоматически заменяется на точку для команд, не относящихся к текущему дню, а та, в свою очередь, заменяется двоеточием при выполнении команды. Разделитель представляет собой также двоеточие или пробел. Идентификатор может включать в себя любые печатные символы кроме двоеточия и пробела. Пример:

.Это_метка_однократного_выполнения:

Любую команду, независимо от способа задания времени, можно установить на циклическое повторение с заданным интервалом в минутах. При этом поле времени задает момент первого выполнения команды. Затем команда начинает выполняться один раз в заданное число минут. Цикл завершается либо при завершении работы Runner'a, либо при перезагрузке расписания, либо при наступлении заданного момента времени, либо если очередной момент выполнения команды приходится на время "сна" (инструкция sl). Чтобы задать циклическое выполнение команды, сразу после времени выполнения нужно записать в фигурных скобках интервал повтора в минутах: ЧЧ:ММ {интервал} команда. Пример: ^0000{15} команда - команда будет выполнена сразу после загрузки Runner'a, а далее каждые 15 минут.
Момент окончания цикла задается в фигурных скобках вместе с интервалом повтора через пробел с дефисом, вот так:
{интервал_повтора -время_окончания}
Реальный пример:

08:00 {10 -17:00} >cm=>me=Новая почта!
Данная команда каждые 10 минут, с 8 до 17 часов проверяет поступление новой почты. Время окончания задается сразу после дефиса, БЕЗ ПРОБЕЛА.

Если в командной строке имя исполнимого файла включает также и каталог, то последний будет установлен в качестве текущего для запускаемого приложения. Это касается только приложений, запускаемых без модификатора #.
Состояние окна запускаемого командой приложения, а также метод запуска и протоколирования выполнения этой команды можно задать с помощью модификаторов, которые помещаются непосредственно перед самой командой в следующем порядке (любой модификатор может отсутствовать, можно использовать только один модификатор каждого типа):

  1. состоянием окан запускаемой программы управляют модификаторы , (запятая), ' (апостроф) и ? (знак вопроса). Запятая задает запуск приложения в свернутом состоянии, апостроф - в развернутом во весь экран, а знак вопроса - в скрытом (без окна и кнопки на панели задач). Последним следует пользоваться с осторожностью, тщательно проверяя работу системы и не забывая закрывать запущенные таким образом приложения, если они не закрываются сами. Можно использовать для этого инструкцию cw. Примеры:
  2. методом протоколирования выполнения данной команды управляет модификатор % (процент). Если этот модификатор отсутствует, для данной команды действует режим протоколирования, заданный в разделе настроек. Присутствие комбинации %0 отключает протоколирование данной команды независимо от общих установок, а комбинация %1, наоборот, задает обязательное протоколирование данной команды. Примеры:
  3. способом выполнения команды управляет модификатор #. При отсутствии данного модификатора команда интерпретируется как совокупность имени модуля для порождения нового процесса и командной строки данного процесса. Такая командная строка трактуется однозначно как команда на запуск приложения. Использовать ярлыки, папки, другие объекты в командах без модификатора # нельзя. Примеры таких команд: Однако, Runner предоставляет возможность запускать приложения не только по имени исполнимого модуля, но и использовать ярлыки, ассоциированные типы файлов и т.п., путем вызова оболочки (shell) WIndows и передачи ей пути и имени заданного объекта. Грубо говоря, это аналогично тому, как если бы вы дважды щелкнули мышью на выбранном объекте. В командную строку правее модификатора # можно вписывать путь и имя ярлыков, каталогов, исполнимых файлов, файлов, тип которых ассоциирован с определенным приложением (например, документов Word) и т.п. Выполненное действие будет зависеть от типа объекта, но всегда это будет действие по умолчанию. Например, для исполнимых файлов это, скорее всего, будет запуск приложение, а для видеофайлов - воспроизведение клипа. Примеры:

... дальше