Студопедия — Выполнение каких либо действий в заданный интервал времени.
Студопедия Главная Случайная страница Обратная связь

Разделы: Автомобили Астрономия Биология География Дом и сад Другие языки Другое Информатика История Культура Литература Логика Математика Медицина Металлургия Механика Образование Охрана труда Педагогика Политика Право Психология Религия Риторика Социология Спорт Строительство Технология Туризм Физика Философия Финансы Химия Черчение Экология Экономика Электроника

Выполнение каких либо действий в заданный интервал времени.






Речь пойдет не о запуске командного файла в определенное время, а о выполнении какой-то его части только в определенный интервал времени, например, с 10:00 до 12:00. Решения данной задачи потребует сравнения текущего времени с указанным промежутком. Для примера, создадим командный файл, выполняющий запуск стандартного калькулятора Windows, только в том случае, если он запущен в интервале времени от 10:00 до 12:00. Необходимо получить текущее время и выполнить проверку того, что оно не больше 12:00 и не меньше 10:00.
Команда IF позволяет выполнить сравнение строк при использовании формата:

IF /I строка1 оператор_сравнения строка2 команда

где оператор_сравнения принимает следующие значения:

EQL - равно NEQ - не равно LSS - меньше LEQ - меньше или равно GTR - больше GEQ - больше или равно

а ключ /I, если он указан, задает сравнение текстовых строк без учета регистра. Этот обычно используется для сравнения текстовых строк в форме строка1==строка2. Сравнения проводятся по общему типу данных, так что если строки 1 и 2 содержат только цифры, то обе строки преобразуются в числа, после чего выполняется их сравнение. Следовательно, для решения нашей задачи нужно сравнить строку из первых двух символов значения переменной TIME (чч:мм:сс) с заданным диапазоном:

REM Время меньше 12:00 - перейти на анализ второго условия, иначе - выходif %time:~0,2% lss 12 goto tst2exit:tst2Rem Время больше 10:00 - перейти к выполнению, меньше - завершить работу выполнив exitif %time:~0,2% gtr 10 goto excalcexit:excalccalc.exe

 

Подобным же образом можно организовать проверку по дате, учитывая тот факт, что для данного способа сравнения необходимо использовать только числовые значения из переменных.

Яндекс.ДиректБесплатная онлайн-игра World of Warplanes. Скачай и пари в небесах прямо сейчас! 12+cpm.worldofwarplanes.com

 

Пример создания архива каталога "Мои Документы";.

Этот командный файл создает архивы содержимого папки "Мои Документы" пользователей Win2K/XP, размещая их в каталоги
C:\ARHIV\Мои документы\Имя пользователя\Дата\время

Используются переменные окружения USERPROFILE, USERNAME, WINDIR. Если вы разобрались с предыдущим примером, содержимое данного командного файла не должно вызывать особых затруднений, поскольку в нем присутствуют комментарии (rem), поясняющие в короткой форме смысл и назначение последующих строк:

@echo off
rem Задается переменная FROM - откуда брать данные для архивирования
set FROM=%USERPROFILE%\Мои Документы
rem Задается переменная TO - куда помещать архивы
set TO=C:\arhiv\Мои документы\%USERNAME%
rem Создадим каталог ТО
md "%TO%\"
rem Сформируем имя подкаталога из текущей даты
set VDATE=%date:~-10%
rem Сформируем имя файла архива из текущего времени - 12:00:00.99
rem отбросим сотые доли секунды и заменим символ: на символ. Результат - 12.00.00

set vtime=%TIME:~0,-3%
set vtime=%vtime::=.%
rem Создадим подкаталог для файла архива
md "%TO%\%VDATE%"
rem Команда для архивирования. Ключ -r нужен для архивирования с вложенными папками
rem вариант для архиватора ARJ: arj.exe a -r "%TO%\%VDATE%\%VTIME%.arj" "%FROM%\*.*"
rem При использовании архиватора RAR:
rar.exe a -r "%TO%\%VDATE%\%VTIME%.rar" "%FROM%\*.*"

Если у вас возникнут проблемы связанные с неверной кодировкой символов русского алфавита в именах файлов и каталогов, попробуйте воспользоваться командой CHCP для смены кодовой страницы
chcp 866 - установить кодовую страницу 866 (DOS-кодировка)
chcp 1251 - установить кодовую страницу 1251 (Windows-кодировка)


Этот командный файл можно значительно сократить, убрав ненужные переменные VTIME и VDATE, которые в данном примере, используются лишь для того, чтобы скрипт имел более наглядный и простой для понимания вид.

В операционных системах Windows XP/Vista/7 формат даты по умолчанию не содержит название дня недели. Если есть необходимость получить это значение без изменения настроек системы и использования дополнительного программного обеспечения, можно воспользоваться сценарием Hindows Script Host (WSH).

- создаем файл сценария для получения названия дня недели, пусть с именем weekday.vbs, и содержащим строку вывода на экран результата выполнения функции WeekDayName
WScript.Echo WeekDayName(Weekday(Now), True)
- выполняем скрипт WSH с использованием консольной версии программы обработки сценариев cscript.exe и подавлением лишних сообщений (ключ //nologo)
cscript //nologo weekday.vbs

Пример командного файла для получения названия дня недели с использованием функции WeekDayName:
ECHO OFF
echo WScript.Echo WeekDayName(Weekday(Now), True) > weekday.vbs
for /f "Tokens=1*" %%i in ('cscript /nologo weekday.vbs') DO set DayName=%%i
echo %DayName%
REM Дальше можно использовать переменную DayName, а файл weekday.vbs - удалить
REM ERASE dayname.vbs
REM...

Возможности, предоставляемые в сценариях WSH, намного превосходят возможности командной строки CMD, поэтому, если задачу необходимо решить с помощью командного файла, можно воспользоваться приемом, как в рассмотренном выше примере.







Дата добавления: 2015-08-31; просмотров: 590. Нарушение авторских прав; Мы поможем в написании вашей работы!



Композиция из абстрактных геометрических фигур Данная композиция состоит из линий, штриховки, абстрактных геометрических форм...

Важнейшие способы обработки и анализа рядов динамики Не во всех случаях эмпирические данные рядов динамики позволяют определить тенденцию изменения явления во времени...

ТЕОРЕТИЧЕСКАЯ МЕХАНИКА Статика является частью теоретической механики, изучающей условия, при ко­торых тело находится под действием заданной системы сил...

Теория усилителей. Схема Основная масса современных аналоговых и аналого-цифровых электронных устройств выполняется на специализированных микросхемах...

Тема 5. Анализ количественного и качественного состава персонала Персонал является одним из важнейших факторов в организации. Его состояние и эффективное использование прямо влияет на конечные результаты хозяйственной деятельности организации.

Билет №7 (1 вопрос) Язык как средство общения и форма существования национальной культуры. Русский литературный язык как нормированная и обработанная форма общенародного языка Важнейшая функция языка - коммуникативная функция, т.е. функция общения Язык представлен в двух своих разновидностях...

Патристика и схоластика как этап в средневековой философии Основной задачей теологии является толкование Священного писания, доказательство существования Бога и формулировка догматов Церкви...

Типы конфликтных личностей (Дж. Скотт) Дж. Г. Скотт опирается на типологию Р. М. Брансом, но дополняет её. Они убеждены в своей абсолютной правоте и хотят, чтобы...

Гносеологический оптимизм, скептицизм, агностицизм.разновидности агностицизма Позицию Агностицизм защищает и критический реализм. Один из главных представителей этого направления...

Функциональные обязанности медсестры отделения реанимации · Медсестра отделения реанимации обязана осуществлять лечебно-профилактический и гигиенический уход за пациентами...

Studopedia.info - Студопедия - 2014-2024 год . (0.012 сек.) русская версия | украинская версия