Работу выполнять только средствами DOS.
Практическая работа № 9 Пакетные файлы
Цель работы: научиться создавать пакетные файлы
В любой операционной системе (ОС) – в том числе и в MS-DOS – имеется командный язык, который позволяет выполнять те или иные действия. Анализ и исполнение команд пользователя, включая загрузку готовых программ из файлов в оперативную память и их запуск, осуществляется командным процессором ОС.
Кроме ввода отдельных команд, которые немедленно выполняются, существует возможность создания целых программ на командном языке (т.н. пакетных командных файлов), с помощью которых можно задавать довольно сложную последовательность действий.
Основные команды MS-DOS
Для выдачи справочного материала по командам MS-DOS ввести: команда/? В описании команд в скобки [] заключены те элементы команды, которые можно не указывать. Стандартными внешними устройствами являются: CON – клавиатура и дисплей; PRN – принтер, NUL – пустое устройство. Символом d: обозначен любой дисковый носитель.
I. Команды работы с каталогами
1) DIR – просмотр содержимого каталога:
DIR [d:][путь\][имя_файла][/P][/W][/A][/O][/S][/B][/L].
Параметры:
/P – постраничный вывод на экран;
/W – вывод записей в усеченном формате (только имена файлов) в 5 колонок;
/A:атрибуты – индикация содержимого каталогов с атрибутами (H, A, S, R, D или –H, –A,…);
/O:критерий – задание порядка вывода имен файлов (по алфавиту N, времени создания T, расширению E, размеру S, дате D, или –N, –T, … – означает обратный порядок);
|
|
/S – вывод имен файлов в каталоге и подкаталогах;
/B – вывод только имен файлов в столбик;
/L – вывод информации маленькими буквами.
Примеры:
DIR / P – постраничный вывод на экран содержимого текущего каталога;
DIR *. txt –вывод на экран имен файлов с расширением txt из текущего каталога.
2) MD (MKDIR) – создание подкаталога в текущем или пассивном каталоге:
MD [d:][путь\]имя_подкаталога.
Пример:
MD H :\ WORK \ TEST – создание в пассивном каталоге H :\ WORK подкаталога TEST.
3) RD (RMDIR) – уничтожение каталога (пустого):
RD [d:][путь\]имя_подкаталога.
Пример:
RD TEST – уничтожение подкаталога TEST в текущем каталоге.
4) CD – переход в другой каталог:
CD [d:][путь\][имя_подкаталога].
Примеры:
CD .. – переход в родительский каталог; CD \ – переход в корневой каталог;
CD (\) TEST – переход в подкаталог TEST текущего (корневого) каталога.
5) TREE – отображение структуры каталогов диска в виде дерева:
TREE [d:[\путь]][/F].
Параметр /F – в дереве отображаются также и файлы.
Пример:
TREE H : – нарисовать дерево каталогов диска H :.
II. Команды работы с файлами
1) TYPE – просмотр содержимого текстового файла на экране:
TYPE [d:][путь\]имя_файла (в имени маску, т.е. * и ?, использовать нельзя!).
|
|
Пример:
TYPE H :\ TXT \ a . txt – просмотр содержимого файла a . txt из каталога H :\ TXT.
Замечание: Для приостановки просмотра необходимо нажать комбинацию клавиш CTRL+S (для продолжения просмотра нажать любую клавишу).
2) DEL – удаление одного или группы файлов:
DEL [d:][путь\]имя_файла (или шаблон) [/P].
Параметр /P – выдача запроса на подтверждение удаления.
Пример:
DEL H :\*.* / P – уничтожить все файлы на диске H : в корневом каталоге с выдачей запроса на подтверждение удаления.
3) COPY – копирование одного или группы файлов, вывод содержимого файла на внешнее устройство, объединение содержимого нескольких файлов в один.
Для копирования файлов:
COPY [d1:][путь1\]имя_файла1 [d2:][путь2\][имя_файла2] [/V].
Параметр /V – контролирует процесс копирования.
Примеры:
COPY a . txt PRN – распечатать файл a . txt из текущего каталога на принтере;
COPY CON a . txt – создать файл a . txt с клавиатуры (окончание ввода: CTRL+Z);
COPY *. txt H : – скопировать все файлы типа .txt из текущего каталога на диск H :.
Для объединения файлов:
COPY [d1:][путь1\]имя_ф1+[d2:][путь2\]имя_ф2+… [d:][путь\]имя_файла-приемника.
Пример:
COPY a 1. txt + a 2. txt a . txt – объединить содержимое файлов a 1. txt и a 2. txt в a . txt.
4) REN (RENAME) – переименование файла:
REN [d:][путь\]имя_файла1 имя_файла2 (можно использовать шаблон).
|
|
Пример:
REN a . txt a . doc – переименовать в текущем каталоге файл a . txt в файл a . doc.
5) COMP – побитовое сравнение файлов (после 10 различий сравнения прекращаются):
COMP [d1:][путь1\]имя_файла1 [d2:][путь2\]имя_файла2 [/L][/C].
Параметры:
/L – отображать номера строк, в которых есть различия;
/C – не различать большие и маленькие буквы.
Пример:
COMP a . txt a . doc – сравнить содержимое файлов a . txt и a . doc из текущего каталога.
III. Редактирование вводимых команд DOS
Для удобства редактирования вводимых команд существует специальная программа DOSKEY. После запуска она становится резидентной. Программа DOSKEY хранит в кольцевом стеке несколько ранее введенных пользователем команд и может выводить их в командную строку DOS. Для управления стеком команд используются клавиши:
· (¯) – вызов предыдущей (следующей) команды;
· ALT+F7 – очистка стека команд;
· F7 – вывод на экран списка запомненных команд и их номеров;
· F9 – вывод из стека в командную строку текста команды с данным номером.
При редактировании вводимых и вызванных команд становятся доступными стандартные клавиши перемещения курсора, удаления символов, режима вставки/замены.
Задание макрокоманд: DOSKEY имя макрокоманды=определение макрокоманды.
|
|
Конвейеры и фильтры в MS-DOS
Направление стандартного вывода одной программы на вход другой обеспечивается за счет использования конвейеров.
Конвейер – это последовательность команд, осуществляющих поэтапную обработку данных. Для сцепления команд в конвейер используется символ | . Для реализации конвейера MS-DOS использует временный файл, который операционная система сама создает в корневом каталоге и уничтожает после отработки конвейера, т.е. обмен между командами конвейера реализуется через файловую систему.
Пример: P 1| P 2| P 3 – выходной поток программы P 1 подается на вход программы P 2, а выходной поток P 2 является входным для P 3.
В конвейерах в основном используются три команды-фильтра MORE, SORT, FIND.
Фильтром называется программа, считывающая данные со стандартного устройства ввода, преобразующая их по определенному алгоритму и выводящая результат работы на стандартное устройство вывода. Для переадресации отфильтрованных данных в файл или входных данных на фильтр используются символы > и <.
Команды-фильтры: (в них команда должна выводить информацию на экран)
1) MORE – постраничное отображение (файла или результата работы команды):
MORE [< имя_файла] или
команда| MORE.
Пример:
DIR | MORE – постраничное отображение содержимого текущего каталога;
MORE < a . txt – постраничное отображение содержимого файла a . txt;
TYPE a . txt | MORE – то же самое;
ECHO | MORE – генерирует маркер EOL, т.е. моделирует нажатие клавиши Enter.
2) SORT – сортировка строк текстового файла в лексикографическом порядке:
SORT [/ R ][/+ n ][имя_файла-источника][> имя_файла-приемника] или команда| SORT [/ R ][/+ n ][> имя_файла-приемника].
Параметры:
/R – сортировка в обратном порядке (от 9 к 0, от Z к A);
/+n – указывает номер позиции в строке, по которой осуществляется сортировка.
Примеры:
SORT / R < a . txt – отсортировать в обратном порядке строки файла a . txt, результат сортировки вывести на экран;
SORT / R < a . txt > b . txt – то же самое, но результат сортировки вывести в файл b . txt;
DIR | SORT /+10 – отсортировать содержимое текущей директории по расширению имен файлов, результат сортировки вывести на экран.
3) FIND – поиск заданной последовательности символов в текстовом файле:
FIND [/ V ][/ C ][/ N ][/ I ] «фрагмент» имя_файла или
команда| FIND [/ V ][/ C ][/ N ][/ I ] «фрагмент».
Параметры:
/V – выводить строки, в которых отсутствует «фрагмент»;
/C – выводятся только номера строк, содержащих «фрагмент»;
/N – выводятся номера строк и сами строки, содержащие «фрагмент»;
/I – игнорируются различия строчных и прописных букв.
Пример:
DIR | FIND / V « i » > a . txt – записать в файл a . txt содержимое текущего каталога с игнорированием сообщений об устройстве и свободной памяти (в случае вывода на английском языке в них есть строчная буква «i»).
Командные файлы принадлежат к категории исполняемых файлов и имеют тип bat. Командный файл – это текстовый файл, строки которого могут содержать:
· команды DOS;
· обращение к исполняемым программам (с расширением .com, .exe);
· вызовы других командных файлов;
· специальные команды для управления выдачей на экран;
· специальные команды для организации ветвлений и циклов;
· метки.
Файлы с расширением bat можно создавать текстовым редактором. Командный файл представляет собой системную макрокоманду и является аналогом процедуры в программировании. Командные файлы предназначены для упрощения процесса задания часто используемых последовательностей команд. В частности, они полезны при выдаче команд, требующих много аргументов и переключателей, чтобы не вводить каждый раз с клавиатуры длинную строку. Для описания действий, которые необходимо осуществить после загрузки ОС, используется командный файл AUTOEXEC . BAT.
Командные файлы обрабатываются командным процессором построчно, причем каждая прочитанная строка отображается на экране дисплея (если не был установлен режим ECHO OFF), а затем интерпретируется. Если в начале строки командного файла указать символ @, то данная строка не будет отображаться на экране перед ее интерпретацией.
Некоторые команды . bat -файлов:
CLS – очистка экрана;
ECHO разрешение или подавление вывода на экран системных сообщений:
[@]ECHO [ON][OFF]
ECHO [строка] – отображение строки на экране;
GOTO – безусловный переход (признаком метки является двоеточие в начале строчки);
IF – проверка условия и ветвление:
IF EXIST имя_файла (или шаблон) … – проверка существования файла;
IF текстовая_строка1==текстовая_строка2 … – сравнение двух строк;
Пример:
IF %1= = Y GOTO m – переход на m, если фактический параметр = Y;
IF EXIST a.txt ECHO файл существует! – вывод надписи, если файл имеется;
PATH – работа с поисковыми маршрутами: (путь без пробелов!)
PATH имя_каталога[;имя_кат] – установка списка каталогов для поиска программ;
PATH ; – установка поиска только в текущем каталоге;
PATH без пар-в – вывод имен каталогов, в которых производится поиск программ;
PAUSE – приостановка выполнения программы и ожидание нажатия клавиши;
PROMPT аргумент – задание формата приглашения DOS.
Аргумент – строка из управляющих символов:
$ b – выдача символа-разделителя |;
$ d – выдача текущей даты;
$ g – выдача символа-разделителя >;
$ h – стирание предыдущего символа (BackSpase);
$ n – выдача имени текущего дисковода;
$ p – выдача имени текущего (рабочего) каталога;
$ t – выдача текущего времени;
$ v – выдача номера версии MS-DOS;
$_ – последовательность символов «возврат каретки» и «перевод строки»;
Примеры:
PROMPT $ p $ g – стандартное приглашение, содержащее путь к текущему каталогу;
REM – строка комментариев;
SHIFT – сдвиг списка формальных параметров;
С помощью команды Echo можно получить звуковой сигнал компьютера. Для этого следует в выводимое сообщение включить символ с кодом 7. Это можно сделать, нажав клавишу Alt и, не отпуская ее, клавишу 7Home в правой части клавиатуры.
Командные файлы с параметрами:
При вызове командного файла можно задать последовательность аргументов, отделенных друг от друга пробелом, которые будут замещать формальные параметры при интерпретации строк .bat -файла. Допускается использовать до 10 формальных параметров с именами %0, %1, …, %9. Действует принцип позиционного соответствия параметров и аргументов, т.е. вместо %0 подставляется имя командного файла, вместо %1 подставляется первый аргумент и т.д. Для обрабатывания неизвестного заранее количества параметров можно использовать команду SHIFT.
Пример: Пусть имеется командный файл pf . bat, содержащий строки:
@ECHO OFF
TYPE %1
PAUSE
TYPE %2
PAUSE
Запустить его на выполнение можно следующим образом: pf . bat f 1. txt f 2. txt .
Кроме того, параметры можно передавать через глобальные переменные, которые устанавливаются командой SET, а затем используются в командном файле. Имя глобальной переменной с двух сторон заключается в %.
Пример: Для добавления маршрута поиска к уже имеющимся в командный файл можно включить строку @SET PATH=%PATH%;H:\PAS.
Рекурсивные (вложенные) вызовы командных файлов:
В общем случае в DOS не предусмотрены вложенные вызовы командных файлов с возвратом. Однако они возможны, если применить особый способ – обращение к командному процессору COMMAND.COM с указанием в качестве аргумента имени вызываемого командного файла.
Пример:
Пусть имеется два командных файла – «вызывающий» x . bat и «вызываемый» y . bat. Оформление вызова y . bat из x . bat и возврат обратно осуществляется по следующей схеме:
Работу выполнять только средствами DOS.
Дата добавления: 2019-02-22; просмотров: 335; Мы поможем в написании вашей работы! |
Мы поможем в написании ваших работ!