Командные файлы MS Windows

advertisement
ЛАБОРАТОРНАЯ РАБОТА №3. РАБОТА С ПАКЕТНЫМИ ФАЙЛАМИ.
Цели работы
1.
2.
Изучение основных команд и конструкций командной строки Windows, используемых при создании
командных файлов.
Приобретение навыков создания командных файлов.
Общие сведения о командных файлах
Командный файл (batch-файл, файл пакетной обработки) – это неформатированный текстовый файл, который
содержит одну или несколько команд командной строки Windows и имеет расширение .ВАТ. Командные файлы
относятся к числу выполняемых файлов – когда вы набираете имя этого файла в командной строке (можно без
расширения), команды, записанные в нем, начинают выполняться. То есть командные файлы предназначены для
автоматизации выполнения группы команд операционной системы. Что особенно удобно при обслуживании
компьютерных систем. Любая команда, которую вы используете в командной строке, может быть включена в
командный файл. Кроме того, в интерфейсе командной строки есть ряд команд и конструкций, специально
предназначенных для использования в командных файлах. Это команды CALL, CHOICE, REM, ECHO, FOR, GOTO,
IF, PAUSE, SHIFT и др. В данном модуле рассмотрены команды и конструкции, обычно используемые в командных
файлах.
Следует отметить, что в модуле рассмотрены базовые возможности команд «чистой» MSDOS, в случае
интерфейса командной строки современных Windows возможности этих конструкций и команд значительно богаче.
Самостоятельно изучите возможности, появившиеся у изучаемых команд и конструкций в Windows 2000 используя
встроенную справку.
Замечания по выполнению практической работы
1. При описании формата команд используются следующие правила:
• конструкции, заключенные в квадратные скобки [ ], могут быть опущены. При включении их в команду скобки надо
опустить;
• слова, набранные курсивом, означают, что они должны быть заменены соответствующим именем. Если слова,
набранные курсивом, заключены в квадратные скобки, то они могут быть опущены;
• вертикальная черта означает, что надо подставить один из вариантов. Например, ON | OFF означает, что надо
напечатать ON или OFF, но не оба. Не надо также печатать и вертикальную черту.
2. После создания командного файла необходимо его выполнить. Для этого достаточно в командной строке набрать
имя этого файла (без расширения) и нажать клавишу Enter.
3. Рабочим каталогом всегда должен быть каталог TEMP корневого каталога.
Практические упражнения
Проделайте приведенные ниже упражнения, предварительно внимательно ознакомившись с описанием по каждой
команде или конструкции. Выполните контрольные задания.
ECHO
Назначение
управление
выводом сообщений на экран
дисплея
Формат: ECHO [ON | OFF]
ECHO [текст]
ECHO ON – включение вывода на экран протокола выполнения
(последовательности выполняемых команд) командного файла;
ECHO OFF – отключение вывода на экран протокола выполнения командного
файла;
@ЕСНО OFF – отключение вывода на экран протокола выполнения командного
файла и самой команды ECHO OFF;
ECHO – вывод на экран текущего режима команды ECHO (ON или OFF);
ECHO text – вывод на экран сообщения text; выполняется в режиме ECHO OFF.
Упражнение 1.
1. Создайте и выполните командный файл К1.ВАТ
следующего содержания:
CLS
ECHO ON
DIR
очистка экрана;
включение вывода на экран протокола выполнения КФ;
выдача на экран содержимого текущего каталога.
2. Измените командный файл К1.ВАТ:
CLS
ECHO OFF
измененная строка
DIR
4. Измените командный файл К1.ВАТ:
CLS
@ЕСНО OFF
измененная строка
DIR
3. Измените командный файл К1.ВАТ:
CLS
ECHO
измененная строка
DIR
5. Измените командный файл К1.ВАТ:
CLS
ECHO OFF
измененная строка
ECHO ---- ПРИВЕТ !!! ---измененная строка
DIR
Упражнение 2.
Создайте в своем рабочем каталоге каталог TEXT и запишите в него файл TEXT1.TXT, который содержит
следующую информацию: Фамилия Имя Отчество, номер группы. И файл TEXT2.TXT произвольного
содержания
PAUSE
Назначение
временная остановка
выполнения
командного файла.
Формат: PAUSE
При выполнении этой команды на экран выводится сообщение:
Strike a key when ready ... (Нажмите любую клавишу, когда будете готовы)
Для продолжения работы следует нажать любую клавишу, за исключением Ctrl+C или
Ctrl+Break, так как нажатие этих клавиш прекращает выполнение командного файла.
Упражнение 3.
1. Создайте и выполните командный файл К2.ВАТ
следующего содержания:
ECHO OFF
CLS
ECHO IBM PC ПРИВЕТСТВУЕТ ВАС!
TYPE C:\TEMP\TEXT\TEXT1.TXT
PAUSE
CLS
TYPE C:\TEMP\TEXT\TEXT2.TXT
PAUSE
Данный командный файл выдает на экран с помощью
команды TYPE файлы TEXT\TEXT1.TXT и
TEXT\ TEXT2.TXT. После выдачи на экран каждого
файла работа приостанавливается (команда PAUSE) и
система ожидает нажатия клавиши для продолжения.
Формат FOR %%переменная IN (набор) DO команда
%%переменная
набор - множество, включающее в себя один или более файлов.
Допускается использование символов "?" и "*";
команда - команда, выполняемая для каждого файла в наборе;
переменная – счетчик цикла.
Возможности FOR в Windows 2000 существенно расширены.
Хотите знать больше – обращайтесь к встроенной помощи.
FOR
Назначение - многократное (циклическое)
выполнение заданной команды операционной
системы для совокупности файлов
Упражнение 4.
1. Создайте и выполните командный файл К3.ВАТ
следующего содержания:
ECHO OFF
CD C:\TEMP\TEXT
FOR %%1 IN (TEXT1.TXT, TEXT2.TXT) DO TYPE %%1
CD C:\TEMP
2. Измените текст командного файла К3.ВАТ:
ECHO OFF
CD C:\TEMP\TEXT
FOR %%1 IN (TEXT?.TXT) DO TYPE %%1 изменение
CD C:\TEMP
Данный командный файл выдает на экран с
помощью команды TYPE содержимое файлов
TEXT1.TXT и TEXT2.TXT.
Данный командный файл выдает на экран с
помощью команды TYPE содержимое всех файлов,
удовлетворяющих шаблону TEXT?.DOC.
Упражнение 5.
1. Создайте и выполните
следующего содержания:
GOTO
Назначение - безусловный
переход к отмеченной строке
командного файла.
командный
файл
К4.ВАТ
Данный командный файл выдает на экран объем
доступной операционной системе обычной памяти.
Формат: GOTO метка
метка - имя (длиной до 8 символов) метки, которой обозначается место, в которое
оператор GOTO должен передать управление.
Метка должна находиться в отдельной строке программы и начинаться с двоеточия.
Упражнение 6.
Создайте и выполните
следующего содержания:
командный
файл
K5.BAT
Данный командный файл выдает на экран текст файла
ТЕХТ1.TXT, до тех пор пока не будет нажата клавиша
Ctrl+C.
В ответ на сообщение: Terminate batch job (Y/N)?
нажмите Y.
Обратите внимание, что последняя команда CD никогда
не сработает. После выполнения командного файла
перейдите в корневой каталог.
IF
Назначение
оператор
выполнения команды
условного
Формат
IF [NOT] ERRORLEVEL число команда
IF [NOT] string 1==string2 команда
IF [NOT] EXIST имя-файла команда
IF ERRORLEVEL число команда - команда выполняется (условие
истинно) в случае, если код завершения (ERRORLEVEL) последней
запущенной команды или программы больше либо равен указанному
числу;
IF string1==string2 команда - команда выполняется, если две
указанные строки string 1 и string2 полностью совпадают;
IF EXIST имя-файла команда - команда выполняется, если
указанный файл существует.
Если после IF поставить NOT, то команда будет выполняться в
противоположном случае.
Формальные и фактические параметры
Формальные параметры обозначаются %n, где n - цифра от 1 до 9, задающая порядковый номер фактического параметра.
Фактические параметры перечисляются через пробел после имени командного файла при его запуске. Первому
фактическому параметру присваивается значение %1, второму - %2 и т. д. Если фактических параметров меньше, то
все лишние фактические параметры заменяются пробелами.
Упражнение 7.
1. Создайте командный файл К6.ВАТ следующего
содержания:
2. Измените командный файл К6.ВАТ так, чтобы при
задании параметра - имени файла, который необходимо
вывести на экран, - расширение вводить не требовалось.
ECHO OFF
IF -%1 == - GOTO NO_PARAM
IF NOT EXIST TEXT\TEXT%1.TXT GOTO NOT_EXIST
ECHO ТЕКСТ ФАЙЛА TEXT%1.TXT
TYPE TEXT\TEXT%1.TXT
GOTO EXIT
:NO_PARAM
ECHO ДОЛЖЕН БЫТЬ ЗАДАН ПАРАМЕТР ...
GOTO EXIT
:NOT_EXIST
ECHO ФАЙЛ TEXT%1.TXT HE НАЙДЕН !!!
:EXIT
Выполните командный файл К6.ВАТ первый раз без
параметра:
К6
а второй раз, задав параметр – номер файла: К6 1
SHIFT
Назначение – сдвиг подставляемых
параметров командных файлов.
Данный командный файл выдает на экран содержимое
файла, имя которого задается как параметр при запуске
batch-файла. При этом анализируется, введен ли
параметр. Если параметр не введен, то выдается
сообщение
и
выполнение
командного
файла
прекращается. Вместе с этим определяется, существует
ли заданный файл.
Выполните командный файл К6.ВАТ первый раз без
параметра:
К6
а второй раз, задав параметр:
К6 ТЕХТ\ТЕХТ1.TXT
3. Создайте командный файл К7.ВАТ, использующий
несколько параметров:
ECHO OFF
CD C:\TEMP\%1
TYPE %2
Данный командный файл выполняет переход в каталог
%1, находящийся в каталоге TEMP диска C, и выдает на
экран содержимое файла %2.
Выполните этот файл, набрав следующую команду:
К7 TEXT TEXT1.TXT
Здесь формальному параметру %1 соответствует
фактический параметр - имя каталога TEXT, %2 - имя
файла ТЕХТ1.TXT.
Формат: SHIFT
При выполнении этой команды все значения формальных параметров
перемещаются на одну позицию, т.е. %1 примет значение %2, %2 – %3 и т.д.
Упражнение 8.
1. Создайте и выполните командный файл К8.ВАТ
следующего содержания:
ECHO OFF
DEL C:\TEMP\TEXT\TEXT%1.TXT
SHIFT
DEL C:\TEMP\TEXT\TEXT%1.TXT
Выполните этот файл, набрав следующую команду:
К8 1 2
Данный командный файл удалит файлы TEXT1.TXT и
TEXT2.TXT.
ИТОГОВЫЙ САМОКОНТРОЛЬ
Контрольное задание
а) Создайте командный файл, который удаляет файлы текущего каталога, указанные в виде списка, занесенного в
текстовый файл.
б) Создайте командный файл, который удаляет все файлы и каталоги, в заданных каталогах, указанные в виде списка,
занесенного в текстовый файл.
Задание *
Создайте командный файл, который выводит на экран только число, равное количеству файлов в указанном в
качестве параметра каталоге.
P.S. Для получения зачета необходимо самостоятельно выполнить зачетное задание за время не
превышающее один астрономический час
Download