Описание команды


Запуск команд, относительно заданного времени.
<TIME=...> ... <TIME=...> ... <TIME=X:HotKey> ...

<TIME=StringTime1> commands1 <TIME=StringTime2> commands2 ... <TIME=StringTimeN> commandsN <TIME=X:HotKey> commandsX

Параметры:

<TIME=StringTime1>Тег. StringTime1 - строка параметров времени.
commands1Строка команд. Команда(ы) выполняются при совпадении условий StringTime1.
<TIME=StringTime2>Тег. StringTime2 - строка параметров времени.
commands2Строка команд. Команда(ы) выполняются при совпадении условий StringTime2.
......
<TIME=StringTimeN>Тег. StringTimeN - строка параметров времени.
commandsNСтрока команд. Команда(ы) выполняются при совпадении условий StringTimeN.
<TIME=X:HotKey>Тег выхода. [необязательный] X:HotKey, где HotKey - горячая клавиша, по нажатию которой происходит завершение работы <TIME>. Перед выходом могут выполняться команда(ы), если таковые прописаны после тега.
commandsXСтрока команд. [необязательный] Команда(ы) выполняются перед завершением работы <TIME>.

Примечания:

StringTime - строка параметров времени. w0m00d00h00n00s00 - может быть один или несколько условий, где:

   
 
w -
 
неделя

0   -
 
числовое значение дня недели. Диапазон значений от 1 до 7, что соответствует дням недели начиная с воскресенья и заканчивая субботой.
   m -месяц
00 -номер текущего месяца. Диапазон значений от 01 до 12
   d -день
00 -номер текущего дня месяца. Диапазон значений от 01 до 31
   h -час
00 -значение часов на часах в 24-часовом формате. Диапазон значений от 00 до 23
   n -минута
00 -значение минут на часах. Диапазон значений от 00 до 59
   s -секунда
00 -значение секунд на часах. Диапазон значений от 00 до 59

  Для получения реального времени вместо цифр прописывается символ #

• Команды в <TIME> могут быть запущены:

  1) При точном совпадении строки параметров времени StringTime
  2) В диапазоне с заданной частотой StringTimeA:StringTimeB:StringTimeC, где:
      StringTimeA - начало диапазона.
      StringTimeB - конец диапазона.
      StringTimeC - частота (участвует один из параметров d00, h00, n00 или s00).
      : - разделитель.
  При включении реального времени (символа #) возможны математические выражения (сложение и вычитание)

• Для выхода из <TIME>, можно воспользоваться тегом <TIME=X:HotKey>, где HotKey - строка последовательности нажимаемых клавиш. ('!' - эмулирует клавишу ALT, '+' - SHIFT, '^' - CTRL, '#' - WIN, остальные значения в таблице клавиш см. Дополнение №1)
  → Используются латинские буквы клавиш клавиатуры в нижнем регистре.
  → Две команды <TIME> с одним и тем же набором последовательности нажимаемых клавиш будут запущены, но во 2-м горячие клавиши выхода работать не будут.
  → Горячие клавиши не могут быть установлены, если они встроены в Windows (Ctrl+Alt+Delete, Ctrl+Shift+Esc, Win+B ...), если они зарегистрированы другими программами.

• Если не задействован тег <TIME=X:HotKey>, то для завершения процесса <TIME> используется команда close=TCIMG.exe

• Для завершения <TIME> после запуска команд, можно воспользоваться тегом :EXIT:
  в ряде случаев невозможно обработать тег :EXIT: (когда требуется завершить работу из другого процесса, а команда close=TCIMG.exe может закрыть все процессы TCIMG), тогда можно воспользоваться командой close=:PID: - в этом случае в команду close передается PID запущенного процесса <TIME>

• Для продолжения работы команд и параметров после обработки <TIME> необходимо в конце последней команды commandsX прописать тег <TIMEEND>

• Для отображения иконки в трее при работе <TIME> необходимо перед тегом прописать тег <TRAY=String||Mode||Icon>, где:
    String - строка-подсказка при наведении курсора на иконку в трее.
      Так же подсказка может быть настроена в TCIMG_.lng в секциях TrayIconHint1, TrayIconHint2, ... , TrayIconHintN,
      при этом в тег прописываются соответствующие <TRAY=HINT1>, <TRAY=HINT2>, ... , <TRAY=HINTN>
    Mode - режим отображения значка:
      1 - отображает иконку в трее
      2 - скрывает иконку в трее
      3 - мигает иконка в трее
      4 - мигание иконки остановлено
    Icon - включает в себя путь и номер значка, прописанных через запятую.
      (так же может быть использован номер ключа из секции [ProcessIcon] в TCIMG.ini)

• При <TRAY=...> при нажатии на иконку в трее правой кнопкой мыши можно приостановить действие <TIME> или завершить работу

• Теги и команды <TIME> прописываются через пробел.
• Команды (commandsN) и их параметры имеют тот же синтаксис, что и в примерах.

• В версии 8.2 появилась возможность:
    Вставлять в условие реальное время (символ #)
    Тег <TIMEEND> и :PID:
    А так же возможность передавать во время запуска значения переменных $var_... команды exect

См. также:

anf2d, arr2d, asave, carry, cmd64, cmdcm, cname, cycles, dilog, dubls, envgt, global, hotkiy, ifthen, inbox, listx, macro, noglob, pause, pressy, presww, renew, scrpt, sends, slects, slist, swcmd, swcths, tempxx, tempz, xopen, zmenu, zmenz

Примеры:
 Как создать кнопку?

<TIME=h#-1:h#+1:s15> <IF> [info=s70*9060] = 1 <THEN> sndps=1 <ELSE> close=&#58PID: <ENDIF> ;; посылает звуковой сигнал каждые 15 секунд, пока не будет закрыт процесс PID=9060

<TIME=h00n25> <FOR> 1 <TO> 5 infbx=InfoBox10 sndps=1 <NEXT> :EXIT: ;; запустить 5 раз подряд окно с уведомлением в назначенное время (в 0 часов 25 минут)

<TIME=h03n08:h10n20:n09> infbx=InfoBox10 <TIME=h11n25:h23n06:n27> infbx=InfoBox10 ;; ежедневно с 3 часов 8 минут до 10 часов 20 минут выдавать сообщение каждые 9 минут, так же с 11 часов 25 минут по 23 часа 6 минут выдавать сообщение каждые 25 минут

<TIME=h03n08:h10n20:n09> infbx=InfoBox10 ;; ежедневно с 3 часов 8 минут до 10 часов 20 минут выдавать сообщение каждые 9 минут

<TIME=h05n11> shutd=64 :EXIT: ;; в 5 часов 11 минут перевести систему в спящий режим

<TIME=h16n02> infbx=InfoBox10 :EXIT: ;; один раз в 16 часов 2 минуты выдавать сообщение

<TIME=h16n02> infbx=InfoBox10 ;; ежедневно в 16 часов 2 минуты выдавать сообщение

<TIME=n00> infbx=InfoBox10 <TIME=X:+!d> ;; каждый час выдавать сообщение, выход по SHIFT+ALT+D

<TIME=n00> infbx=InfoBox10 ;; каждый час выдавать сообщение

<TIME=n00> tcimg=$cm582 ;; каждый час сохранить историю каталогов в Total Commander

<TIME=s00> infbx=InfoBox10 ;; каждую минуту выдавать сообщение

<TIME=s00> tcimg=$cm582 infbx=InfoBox10 ;; каждую минуту выдавать сообщение

<TRAY=~~CTRL+*~~-~~поверх/не~~поверх~~активное~~окно@CRLF~~ESC~~-~~выход||3||%%TCIMG_PATH%%\TCIMG.dll,5> <PRESS=11,6A> ontop=4 <PRESS=1B> :EXIT: ;; установить/снять атрибут "Поверх всех окон" активного окна. (работает после запуска команды и по нажатию клавиш CTRL + * , выход по ESC, при работе отображается заданная иконка в трее с подсказкой

<TRAY=~~CTRL+*~~-~~поверх/не~~поверх~~активное~~окно@CRLF~~ESC~~-~~выход||3||2> <PRESS=11,6A> ontop=4 <PRESS=1B> :EXIT: ;; установить/снять атрибут "Поверх всех окон" активного окна. (работает после запуска команды и по нажатию клавиш CTRL + * , выход по ESC, при работе отображается иконка в трее с подсказкой, иконка в TCIMG.ini в [ProcessIcon] ключ 2

<TRAY=HINT1||3||%%TCIMG_PATH%%\TCIMG.dll,5> <TIME=n00> infbx=InfoBox10 ;; каждый час выдавать сообщение, при работе отображается иконка в трее, подсказка настраивается в TCIMG_.lng в ключе TrayIconHint1)

<TRAY=HINT1||3||2> <TIME=n00> infbx=InfoBox10 ;; каждый час выдавать сообщение, при работе отображается иконка в трее, подсказка настраивается в TCIMG_.lng в ключе TrayIconHint1), иконка в TCIMG.ini в [ProcessIcon] ключ 2

<TRAY=HINT2||1||%%TCIMG_PATH%%\TCIMG.dll,38> <TIME=h00n01:h23n59:n06> exect=TraySetState(1)||TrayTip('***********Скоро~~Разминка***********','До~~начала~~разминки~~осталось~~10~~секунд'&@CRLF&'<info=s100dddd~~MMMM~~yyyy~~H:mm:ss>',5,1)||Sleep(1000) infbx=InfoBox16 sndps=D:\TCSibirnik\Files\Sound\Warmup\start.mp3||1 blist=PS<D:\Досуг\Музыка//1//-1//*.mp3|*.wma|*.wav> uends=x||##rndm<22|$GLOBALBLIST> sndps=GLOBALUENDS<1>||0 infos=3||1||GLOBALUENDS<1>||1 infht=GLOBALINFOS<28>||Приятной~~Разминки||@$f250\Files\Htm\Trec_Timer2.htm||500||40||65||840||set<FF033E|FDEE00|1,,,30,,,1>||style<2|1> sndps=D:\TCSibirnik\Files\Sound\Warmup\finish.mp3||1 ;; Вывод сообщения "Пора на разминку", проигрыш звукового файла, проигрывание случайного трека в бегущей строке, проигрыш звукового файла, закрытие и повтор цикла через 30 минут

<TRAY=HINT2||1||%%TCIMG_PATH%%\TCIMG.dll,38> <TIME=h00n01:h23n59:n30> infbx=InfoBox16 blist=PS<E:\Музыка\2\//1//-1//*.mp3|*.wma|*.wav> uends=x||##rndm<22|$GLOBALBLIST> sndps=GLOBALUENDS<1> ;; выводить строку "Пора на разминку", воспроизвести произвольный трек, и после проигрывания одного трека автозакрытие плеера, с повтором цикла через 30 минут

<TRAY=HINT2||1||%%TCIMG_PATH%%\TCIMG.dll,38> <TIME=h00n01:h23n59:n30> infbx=InfoBox16 plays=E:\Музыка\2\||exits<1> ;; выводить строку "Пора на разминку", запустить "TCMG Player" воспроизвести произвольный трек, и после проигрывания одного трека автозакрытие плеера, с повтором цикла через 30 минут

exect=$var_i=##[input=BOX68]||$var_m='n'&$var_i <TRAY=Трей||3||2> <TIME=n#1:h#+1:$var_m> sndps=1 ;; выдавать звуковой сигнал через заданное количество времени, выключение через значок в трее

exect=$var_ii=##[input=BOX68]||$var_im=$var_ii&'n'||$var_pid=@AutoItPID pause=$var_im <TIME=h#-1:h#+1:s5> <IF> [info=s70*$var_pid] = 1 <THEN> sndps=1 <ELSE> close=&#58PID: <ENDIF> <TIMEEND> exect=MsgBox(262144+64,'Напоминаю','Прошло~~$var_ii~~минут~~!'&@CR&'Пора~~на~~кухню!') ;; через заданное количество минут выдать сообщение (количество вводится в диалоге) + в течении отображения диалога издавать звуковое уведомление $var_ii через каждые 5 секунд

exect=$var_pid=##<info=x62> <TIME=n00> exect=ProcessExists($var_pid)?0:_CmdCm('close=&#58PID:') tcimg=$cm582 ;; каждый час сохранить историю каталогов в Total Commander, если окно TC нет, то процесс при проверке отключается.


© Аверин Андрей для Total Commander Image  Averin-And@yandex.ru