...назад
ВСТРОЕННЫЕ ПЕРЕМЕННЫЕ
В командах расписания можно использовать специальные ключевые слова,
встроенные переменные программы. Подобные слова при выполнении команды
заменяются на соответствующие значения так же, как переменные окружения.
Их можно использовать в любом месте исполнимой команды или инструкции.
Все идентификаторы встроенных переменных начинаются с комбинации символов
*?. За ними следует слово, определяющее,
каким значением будет заменена данная переменная при выполнении. Некоторые
переменные подразумевают несложные вычисления. Идентификаторы переменных
регистро-чувствительны. Вот описание доступных в данный момент
переменных:
- *?TODAY_ - заменяется при выполнении на строковое представление
текущей даты в формате "ДД.ММ.ГГ". Например, если команда
выполняется 7-го июля 1999-го года, то в тексте команды
вместо *?TODAY_ появится 07.07.99;
- *?DAY-XX -
заменяется на дату, бывшую XX дней назад, в формате
"ДД.ММ.ГГ". Пример: текст *?DAY-10 при выполнении
команды 7-го июля 1999 года будет замещен на текст
27.06.99. Обязательно использование двух разрядов
в числе. Если смещение относительно текущей даты составляет
менее 10 дней, следует добавить 0. Смещения более 10 дней
обрабатываются некорректно - цифры, расположенные правее двух
старших разрядах, сохранятся в тексте команды после замещения;
- *?DATE__ - заменяется на строковое представление текущей даты в формате
"ГГГГММДД". Например, дата 5 июля 1999 будет представлена в
виде 19990705;
- *?TIME__ - заменяется при выполнении на строковое представление текущего
времени в формате "ЧЧ:ММ:СС". Пример: команда, содержащая данную
переменную и выполняемая в 19 часов 45 минут 14 секунд, будет
содержать в своем тексте вместо данной переменной фрагмент
19:45:14;
- *?TIME6 - заменяется при выполнении на текущее время в формате ЧЧММСС;
- *?DAT-XX -
заменяется при выполнении такж, как и *?DAY-XX,
но формат получаемой строки аналогичен *?DATE__
("ГГГГММДД").
- *?USER - заменяется на имя пользователя, вошедшего в систему
- *?HOST - заменяется на сетевое имя компьютера
- *?TODAYdd - заменяется на номер дня месяца в виде двух цифр (01,12,27 ... )
- *?TODAYmm - заменяется на месяц аналогично
- *?TODAYy2 - заменяется на год (две цифры)
- *?TODAYy4 - заменяется на год (четыре цифры)
- *?WEEKDAY - заменяется на номер дня недели в виде двух цифр
- *?YEARDAY - заменяется на номер дня в году в виде трех цифр (1 января = "001",
31-е декабря = "365" (366 для високосных))
- *?код - заменяется на символ, заданный числом код. Например,
*?13 - символ возврата каретки, *?10 - перевод строки, *?9 -
символ табуляции и т.д. Для задания кода можно использовать
десятичное (начинаются с любой цифры, кроме 0), восьмеричное
(обязательно начинаются с 0-я), шестнадцатеричное (начинаются
с 0x) и двоичное (начинаются с 0b) представление числа. Например,
*?13 = *?015 = *?0xD = *?0b1101. Эти выражения
регистро-нечувствительны (*?0Xd = *?0xD).
Примеры:
- Команда
  xcopy32 c:\source\*.* d:\dest /d:*?DAY-07
при выполнении 10 марта будет заменена на
  xcopy32 c:\source\*.* d:\dest /d:03.03.99
в результате в D:\DEST будут скопированы файлы, измененные или созданные
не ранее 3 марта
- Команда
  pkzip -a -p e:\dest\*?DATE__ c:\source\*.*
при выполнении 5 марта будет заменена на
  pkzip -a -p e:\dest\19990305 c:\source\*.*
в результате будет создан архивный файл с именем 19990305.zip
Вы можете предложить дополнительные варианты.
... дальше