Выполнение каких либо действий в заданный интервал времени.
Речь пойдет не о запуске командного файла в определенное время, а о выполнении какой-то его части только в определенный интервал времени, например, с 10:00 до 12:00. Решения данной задачи потребует сравнения текущего времени с указанным промежутком. Для примера, создадим командный файл, выполняющий запуск стандартного калькулятора Windows, только в том случае, если он запущен в интервале времени от 10:00 до 12:00. Необходимо получить текущее время и выполнить проверку того, что оно не больше 12:00 и не меньше 10:00. 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, размещая их в каталоги Используются переменные окружения USERPROFILE, USERNAME, WINDIR. Если вы разобрались с предыдущим примером, содержимое данного командного файла не должно вызывать особых затруднений, поскольку в нем присутствуют комментарии (rem), поясняющие в короткой форме смысл и назначение последующих строк: @echo off set vtime=%TIME:~0,-3% Если у вас возникнут проблемы связанные с неверной кодировкой символов русского алфавита в именах файлов и каталогов, попробуйте воспользоваться командой CHCP для смены кодовой страницы
В операционных системах Windows XP/Vista/7 формат даты по умолчанию не содержит название дня недели. Если есть необходимость получить это значение без изменения настроек системы и использования дополнительного программного обеспечения, можно воспользоваться сценарием Hindows Script Host (WSH). - создаем файл сценария для получения названия дня недели, пусть с именем weekday.vbs, и содержащим строку вывода на экран результата выполнения функции WeekDayName Пример командного файла для получения названия дня недели с использованием функции WeekDayName: Возможности, предоставляемые в сценариях WSH, намного превосходят возможности командной строки CMD, поэтому, если задачу необходимо решить с помощью командного файла, можно воспользоваться приемом, как в рассмотренном выше примере.
|