Запуск программ в определенное время
Стр 1 из 3Следующая ⇒ Лабораторная работа № 2. Командные файлы Windows
Постановка задачи
Цель работы: научиться решать типовые задачи администрирования операционной системы Windows с использованием командных файлов. Задание: выполнить задание в соответствие со своим вариантом.
Теоретические предпосылки Командный файл представляет собой обычный текстовый файл с расширением bat (cmd), в котором записаны допустимые команды операционной системы, а также некоторые дополнительные инструкции и ключевые слова, придающие командным файлам некоторое сходство с алгоритмическими языками программирования. Например, если записать в файл deltmp.bat следующие команды: С:\ CD %TEMP% ATTRIB -R *.tmp DEL *.tmp и запустить его на выполнение, то будут удалены все файлы во временном каталоге Windows. Таким образом, исполнение командного файла приводит к тому же результату, что и последовательный ввод записанных в нем команд. Командные файлы широко используются при выполнении многих задач, связанных с администрированием системы. В командных файлах можно использовать комментарии, т. е. строки, которые никак не влияют на выполнение этого файла. Комментарии вносятся с помощью ключевого слова rem, например REM Снимем атрибут "Только чтение" ATTRIB -R *.tmp REM Удалим файлы с расширением tmp DEL *.tmp
Условное выполнение команд В командной строке Windows можно использовать специальные символы, которые позволяют вводить несколько команд одновременно и управлять работой команд в зависимости от результатов их выполнения. С помощью таких символов условной обработки можно содержание небольшого пакетного файла записать в одной строке и выполнить полученную составную команду.
Используя символ амперсанда &, можно разделить несколько утилит в одной командной строке, при этом они будут выполняться друг за другом. Например, если набрать командную строку DIR & PAUSE & COPY /?
и нажать клавишу <Enter>, то вначале на экран будет выведено содержимое текущего каталога, а после нажатия любой клавиши — встроенная справка команды copy. Символ ^ позволяет использовать командные символы как текст, т. е. при этом происходит игнорирование значения специальных символов. Например, если ввести в командной строке ECHO Абв & COPY /? и нажать клавишу <Enter>, то произойдет выполнение подряд двух команд: echo Абв и copy /?. Если же выполнить команду ECHO Абв ^& COPY /? то на экран будет выведено Абв & COPY /? В этом случае просто выполняется одна команда echo с соответствующими параметрами. Условная обработка командосуществляется с помощью символов && и | | следующим образом. Двойной амперсанд && запускает команду, стоящую за ним в командной строке, только в том случае, если команда, стоящая перед амперсандами была выполнена успешно. Например, если в корневом каталоге диска с: есть файл plan.txt, то выполнение строки TYPE C:\plan.txt && DIR приведет к выводу на экран этого файла и содержимого текущего каталога. Если же файл c:\pian.txt не существует, то команда dir выполняться не будет. Два символа || осуществляют в командной строке обратное действие, т. е. запускают команду, стоящую за этими символами, только в том случае, если команда, идущая перед ними, не была успешно выполнена. Таким образом, если в предыдущем примере файл c:\plan.txt будет отсутствовать, то в результате выполнения строки TYPE C:\plan.txt || DIR на экран выведется содержимое текущего каталога. Отметим, что условная обработка действует только на ближайшую команду, т. е. в строке TYPE C:\plan.txt && DIR & COPY /? команда copy /? запустится в любом случае, независимо от результата выполнения команды TYPE C:\plan.txt.
Несколько утилит можно сгруппировать в командной строке с помощью скобок. Рассмотрим, например, две строки: TYPE C:\plan.txt && DIR & COPY /? TYPE C:\plan.txt && (DIR & COPY /?) В первой из них символ условной обработки && действует только на команду dir, во второй — одновременно на две команды: dir и copy. Запуск программ в определенное время C помощью утилиты AT можно запускать команды и программы в заданное время. Для работы этой команды должен быть запущен сервис расписаний, а пользователь должен являться членом локальной группы администраторов. Для того чтобы внести новое задание в расписание, используется следующий синтаксис команды AT: AT [\\имя_компьютера] время [/INTERACTIVE] [ /EVERY:дата[,..] [/NEXT:дата[,...]] "команда"
Если запустить AT без параметров, то на экран будет выведен список всех команд и программ, которые будут запущены с ее помощью. Параметр \\ имя_компьютера задает удаленный компьютер, на котором могут быть запущены планируемые команды и программы. Если этот параметр не задан, то предполагается, что запуск программ будет произведен на том же компьютере, где запущена команда at. Параметр время задает время, когда планируемая команда должна быть запущена. Время задается в 24-часовом формате часы:минуты (от 00:00 до 23:59). Ключ /INTERACTIVE позволяет команде AT обмениваться данными с теми пользователями, которые будут подключены к системе в момент выполнения запланированной команды (в случае выполнения утилиты командной строки или пакетного файла будет создано новое командное окно). Ключи /EVERY: дата [,...] или /NEXT: дата [,...] задают дату, когда должна быть запущена запланированная команда. Если указан ключ /EVERY: дата, то команда будет запускаться в заданные дни в течение недели или месяца (например, каждый четверг или каждый третий день месяца). Дни недели задаются буквами (Пн, Вт, Ср, Чт, Пт, Сб, Вс или M, T, W, Th, F, S,. Su), в зависимости от того, какая версия Windows (русифицированная или английская) установлена на компьютере), а дни месяца — цифрами (от 1 до 31) Несколько дат разделяются запятыми. Если параметр дата не задан, то подразумевается текущий день месяца. Ключ /NEXT: дата[,...] позволяет запустить команду при наступлении следующей заданной даты (например, в следующий четверг). Параметр дата имеет то же значение, что и в ключе /every.
При помощи параметра "команда" задаются утилита, программа (файлы с расширением ехе или com) или пакетный файл (файлы с расширением bat или cmd), которые должны быть запущены. Если для задания команды необходимо указывать ее местоположение, имя файла задается полностью, с указанием пути и диска. Если команда запускается на удаленной машине, то необходимо указать имя этой машины и имя разделяемого ресурса, а не имя сетевого диска. Параметр "команда" должен быть заключен в кавычки. Команда AT не вызывает автоматически командный интерпретатор cmd.exe перед запуском запланированной команды. Поэтому если запускается внутренняя команда (например, copy или dir), а не исполняемый файл, то вначале должен быть запущен командный интерпретатор с ключом /C, например, AT 23:00 "CMD /С DIR > C:\test.out". После того как задание запланировано на выполнение, ему присваивается идентификационный номер. Отменить выполнение уже запланированного задания можно с помощью следующего варианта команды AT: AT [\\имя_компьютвра] [[код] [/DELETE[/YES]] Здесь параметр код определяет идентификационный номер, присваиваемый команде или программе, которая будет запущена. Если код не задан, отменены будут все запланированные на компьютере команды. Ключ /yes задает утвердительный ответ на все запросы об отмене запланированных для запуска команд. Замечание: Команды, запуск которых задан с помощью AT, выполняются как фоновые (если только не указан ключ /interactive), поэтому результаты их работы не выводятся на экран. Для направления вывода результатов в файл используются, как обычно, символы перенаправления > и >>. В этом случае сама команда должна быть заключена в кавычки.
Текущим каталогом для выполнения запланированных команд по умолчанию является каталог %systemRoot%. Все запланированные с помощью AT команды сохраняются в системном реестре, и, следовательно, не будут потеряны при перезапуске службы расписаний или всего компьютера.
Запланированные задания, использующие сетевые диски, не должны использовать переназначения дисков, заданные пользователем, т. к. служба расписаний может не получить доступа к таким дискам или диски могут оказаться не подключенными, если другой пользователь войдет в систему в момент выполнения запланированной команды. Вместо этого, запланированные задания должны использовать полный сетевой путь (\\имя_компьютера\имя_ресурса). Рассмотрим пример. Пусть у пользователя имеется сетевой диск X:, подключенный к сетевому ресурсу \\Server1\ForBackup, на который необходимо производить резервное копирование. Командный файл mybackup.bat выполняет копирование по указанному в качестве параметра командной строки пути. Чтобы запланировать запуск этого командного файла в 1 час ночи, можно использовать следующую команду: AT 1:00 mybackup \\Server1\ForBackup, тогда как недопустимой является следующая форма: AT 1:00 mybackup X:
Если с помощью AT запланирована команда, использующая буквенное обозначение диска для подключения к разделяемому каталогу, то после ее выполнения должна быть запланирована команда, отключающая данный каталог от диска. В противном случае, буква, использованная для обозначения подключаемого диска, будет недоступна или не будет выводиться в командной строке.
Воспользуйтесь поиском по сайту: ©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...
|