- •Раздел II. Операционные системы для пэвм
- •Тема 2.1. Операционная система ms-dos
- •План изложения материала
- •Тема 2.2. Утилиты dos
- •План изложения материала
- •Тема 2.3. Оболочка Norton Commander
- •План изложения материала
- •Тема 2.4. Командные файлы
- •План изложения материала
- •Тема 2.5. Архивирование файлов
- •План изложения материала
- •Тема 2.6. Защита от компьютерных вирусов
- •План изложения материала
- •Тема 2.7. Конфигурирование ms-dos
- •План изложения материала
- •Раздел III. Операционные системы семейства Windows
- •Тема 3.1. Эволюция Windows.
- •Тема 3.2. Интерфейс Windows
- •План изложения материала
- •Тема 3.3. Работа с окнами Меню, панель инструментов, диалоговые окна.
- •План изложения материала
- •Тема 3.4. Справочная система
- •План изложения материала
- •Тема 3.5. Работа с программами Windows и ms-dos
- •План изложения материала
- •Раздел IV. Работа с ос семейства Windows
- •Тема 4.1. Понятие и структура рабочего стола
- •План изложения материала
- •Тема 4.2. Программа Проводник. Работа с файлами и папками. Обмен данными
- •План изложения материала
- •Тема 4.3. Настройка Windows
- •План изложения материала
- •Тема 4.4. Пакет приложений Microsoft Office.
- •План изложения материала
- •Раздел V. Ос unix
- •Тема 5.1. Начальные сведения о системе unix.
- •План изложения материала
- •Тема 5.2. Файловая система Unix
- •План изложения материала
- •Тема 5.3. Работа с файлами и каталогами. Владельцы, группы, права доступа
- •План изложения материала
- •Тема 5.4. Текстовый редактор VI
- •План изложения материала
- •Тема 5.5. Работа с Shell
- •План изложения материала
- •Тема 5.6. Функциональные возможности Unix
- •План изложения материала
- •Раздел VI. Обзор современных ос
- •Тема 6.1. Перспективы развития современных ос. Сетевые ос.
- •План изложения материала
Тема 2.4. Командные файлы
Цель занятия: изучить назначение и основные команды пакетных файлов; уметь редактировать и создавать командные файлы.
План изложения материала
Применение и выполнение командных файлов.
Командные файлы с параметрами.
Переходы, проверка условий в командных файлах.
Диалоговые командные файлы
Довольно часто при работе с ПК бывает необходимо выполнять одни и те же команды DOS для того, чтобы осуществить некоторые периодически выполняемые действия. ОС позволяет записать нужную для этого последовательность команд в специальный файл, называемый командным. Командный файл должен иметь расширение .ВАТ.
Командным (пакетным - batch) файлом называется последовательность команд DOS , записанная в текстовом файле и выполняемая путем ввода спецификации этого файла с клавиатуры.
Командный файл может содержать любые команды, допустимые в командной строке, и запросы на выполнение программ. Кроме того, имеются дополнительные команды, используемые главным образом в командных файлах. Командные файлы создаются обычно каким-либо текстовым редактором или формируются командой COPY con имя_файла.
Для выполнения командного файла необходимо набрать в командной строке его имя и задать, если необходимо, параметры. Прервать выполнение командного файла можно нажатием Ctrl-C или Ctrl-Break. В командном файле можно вызвать другой командный файл, указав его имя.
Средства DOS для поддержки командных файлов позволяют:
создавать линейные командные файлы;
организовывать разветвления в командных файлах;
создавать циклы в командных файлах;
разрабатывать вложенные командные файлы;
производить вывод информации из командных файлов;
осуществлять параметризацию командных файлов;
управлять отображением выполняемых строк командных файлов на экран;
включать в командный файл комментарии.
Параметризация командных файлов.
Часто приходится выполнять одни и те же команды с небольшими изменениями. Параметризация сводится к возможности использования переменных и их означиванию перед запуском командного файла на выполнение. Перед вызовом командного файла задаются аргументы, замещающие параметры. Допускается указывать до девяти параметров с именами %1-%9.
Например, пусть необходимо создать командный файл ТЕХТ.ВАТ, осуществляющий печать текстового файла:
TYPE %1 >PRN
Запустить его на выполнение можно строкой:
ТЕХТ DOC1.TXT
При выполнении этого командного файла символ %1 будет заменен на значение первого параметра при вызове командного файла, т.е. вместо %1 будет подставлено DOC1.TXT и будет выполнена команда TYPE DOC1.TXT > PRN.
Если в командной строке при вызове задано меньше 9 параметров, то отсутствующие параметры заменяются пустыми строками. Если в командном файле необходимо использовать более девяти параметров, применяется команда SHIFT.
В командном файле можно использовать также символ %0, значение которого - имя выполняемого командного файла. Если в командном файле знак % используется не для обозначения параметра, а для других целей, то его надо набирать дважды.
Символ @.По умолчанию команды пакетного файла выводятся на экран перед выполнением. Можно избежать вывода на экран любой отдельной строки файла. Для этого надо поставить в начале этой строки символ @. Например, если в командном файле имеется строка COPY C:DOC1.TXT A: , то в результате ее выполнения на экран будет выведено сообщение:
C:> COPY C:DOC1.TXT A:
1 File(s) copied
Если в начале строки поставить символ @, то на экране отобразится только последнее сообщение.
Команда ECHO. Предназначена для включения и выключения эхо-отображения команд на экран.
Echo on - включает режим вывода выполняемых команд на экран;
Echo off - выключает отображение команд.
Команда ЕСНО позволяет выдавать из командного файла сообщения на экран:
ЕСНО сообщение
Сообщение, выдаваемое на экран с помощью этой команды, выводится даже тогда, когда режим вывода исполняемых команд на экран выключен. Сообщение не может быть пустым. Перед командой желательно выполнить команду @echo off, чтобы сообщение не выводилось на экран дважды.
С помощью команды ЕСНО можно получить звуковой сигнал компьютера. Для этого следует в сообщение, выводимое этой командой, включить символ с кодом 7. Это можно сделать, нажав клавишу Alt и, не отпуская ее, клавишу 7 в правой части клавиатуры.
Для того, чтобы вывести на экран пустую строку, можно использовать команду ЕСНО:или вывести сообщение, состоящие из одного символа с кодом 255.
Пример:
@ECHO OFF
ECHO:
ECHO Командный файл
ECHO выводит текст
ECHO на печать
ECHO:
ECHO ON
Комментарии. Комментарии в командный файл позволяет включать команда REM. Комментарии не интерпретируются как команды во время выполнения файла. Комментарии употребляются для улучшения удобочитаемости командного файла.
REM любые_символы
Если комментарии не желательно выводить на экран, перед ними можно поставить символ @.
Команда PAUSE. Во время выполнения командного файла может возникнуть необходимость его приостановки. Команда pause позволяет приостановить выполнение командного файла и ждать, пока не будет нажата какая-либо клавиша.
PAUSE сообщение
При выполнении этой команды обработка командного файла временно прекращается и выводится сообщение:
Strike a key when ready ...
(Нажмите любую клавишу, когда будете готовы)
Если нажать Ctrl-C или Ctrl-Break , будет выведено сообщение:
Terminate batch job (Y/N)?
(Прервать выполнение командного файла, Y-да, N-нет)
При нажатии клавиши N выполнение командного файла будет продолжено, а Y - прекращено.
Команда CALL. Предназначена для вызова одного командного файла из другого с последующим возвратом в точку вызова.
CALL имя_файла [параметры]
Переходы в командном файле. Командный файл может содержать метки и команды переходов, это позволяет управлять порядком выполнения команд в файле.
Любая строка, начинающаяся с ":", воспринимается при обработке командного файла как метка. Имя метки определяется набором символов, следующих за двоеточием до следующего пробела или конца строки. Длина метки не ограничена, но DOS учитывает только первые 8 символов.
Для того, чтобы указать командному процессору, что требуется продолжить выполнение команд файла начиная со строки, которая следует сразу после некоторой метки, надо воспользоваться командой:
GOTO [:] метка
Если метка в команде GOTO не указана, то процесс пакетной обработки завершается. Команда GOTO предназначена для выполнения безусловного перехода к строке командного файла с заданной меткой. Данная команда позволяет нарушить линейную последовательность выполнения строк командного файла.
Пример:
@ECHO OFF
LABEL переход на метку
ECHO Для остановки нажмите Ctrl-Break
GOTO LABEL
Проверка условий в командном файле. Команда IF позволяет в зависимости от выполнения некоторых условий выполнять или не выполнять команды в командном файле.
IF условие команда
Команда - это любая допустимая команда. Эта команда выполняется, если условие в команде IF истинно, в противном случае команда игнорируется.
Условие - это одно из приведенных ниже выражений:
ERRORLEVEL число - условие истинно тогда, когда код завершения предыдущей выполненной программы больше заданного числа или равен ему (код завершения устанавливается программами при окончании их работы, по умолчанию этот код равен 0);
строка1 == строка2 - условие истинно тогда, когда строка1 и строк2 полностью совпадают. Если в этих строках имеются символы %0-%9, то вместо этих символов подставляется параметры командного файла;
EXIST имя_файла - условие истинно тогда, когда указанный файл существует;
NOT условие - истинно тогда, когда указанное условие ложно.
Пример:
1) IF NOT EXIST C:\DOC\W.TXT COPY A:W.TXT C:\DOC
Если файл W.TXT на диске С: не существует, то скопировать его туда.
2)
@echo off
if -%1==+ goto no_param
if not exist %1 goto not_exist
type %1
goto exit
:no_param
echo Не задан параметр
goto exit
:not_exist
echo Файл %1 не найден
:exit
Команда FOR. Предназначена для организации цикла в командном файле. Она позволяет выполнить программу или команду DOS для нескольких файлов из указанного списка. Команда FOR может употребляться непосредственно в командной строке или в командном файле.
FOR %х IN (список) DO команда
х - любой символ (кроме 0-9, чтобы не было смешения с параметрами);
список - одно или несколько имен файлов, разделенных пробелами. В именах файлов можно использовать символы * и ?;
команда - любая программа или команда DOS, кроме команды For. Если в команде употребляется %х, то оно заменяется именами файлов из списка.
При употреблении команды FOR в командном файле символ % должен удваиваться.
Пример:
for %%f in (*.pas *.exe) do comp %%f a:%%f - сравнить
файлы с расширением .pas, .exe из текущего каталога с
такими же файлами на диске а:
for %%d in (*.txt) do type %%d - отобразить
содержимое всех .TXT-файлов в рабочем каталоге.
Команда Shift - сдвиг параметров в командном файле. Присваивает новые значения символам %0-%9. При этом %0 присваивается старое значение %1, %1 - старое значение %2 и т.д. %9 присваивается значение следующее за старым значением %9 параметра в командной строке, если он не задан, то новое значение %9 - пустая строка.
Команда Shift полезна в одном из трех случаев:
обработка неопределенного числа аргументов;
обработка более девяти аргументов;
однообразная циклическая обработка аргументов.
Диалоговые командные файлы. Иногда в командном файле нужно выполнять различные действия по выбору пользователя. Это можно сделать с помощью функции BE программы ASK:
BE ASK "сообщение", список символов
Программа BE выводит указанное сообщение и ждет, когда пользователь введет один из указанных в списке символов. Значение переменной ERRORLEVEL устанавливается равным номеру введенного символа в списке.
Пример:
BE ASK "Запустить редактор WORD [Y/N]?", YN
При ответе N значение ERRORLEVEL устанавливается
равным 2, при ответе Y - равным 1.
IF ERRORLEVEL 2 GOTO EXIT
WORD
:EXIT
Проверки значений переменной ERRORLEVEL следует располагать в порядке убывания значений.