Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Методичка ОС(СПО) Даниленко.pdf
Скачиваний:
69
Добавлен:
13.05.2015
Размер:
816.02 Кб
Скачать

1. Командный интерпретатор Windows и командные файлы

Цель работы: освоить принципы работы с интерфейсом операционной системы «командная строка», получить представление о составе и функциональном назначении внутренних и внешних команд интерпретатора OC Windows cmd.exe (command.com); изучить прин-

ципы создания командных файлов, состав и функциональное назначение команд, используемых при создании командных файлов, получить навыки использования командных файлов как средства автоматизации работы пользователя.

1.1. Общие сведения

Современные операционные системы, системное и прикладное программное обеспечение предоставляют пользователю возможность управления вычислительным процессом (в широком смысле этого понятия) посредством интерфейса пользователя. Под интерфейсом понимается в данном случае программное обеспечение коммуникации пользователя и вычислительной системы как совокупности аппаратного и программного обеспечения.

Принято выделять два основных вида организации интерфейса: командная строка и графический интерфейс пользователя.

Командная строка (command line interface – CLI) – это такой ин-

терфейс, в котором взаимодействие пользователя и операционной системы или приложения осуществляется путем набора текстовых команд (возможно с параметрами) с клавиатуры.

Графический интерфейс пользователя (graphical user interface – GUI) – это такой интерфейс, в котором взаимодействие пользователя и операционной системы или приложения производится путем управления графическими объектами, в том числе и текстом.

Командная строка как способ взаимодействия пользователя и компьютера появилась гораздо раньше графического интерфейса. Последний, несмотря на свою относительную молодость, быстро завоевал популярность, так как визуальное представление информации является интуитивно понятным и удобным в использовании. Операционные системы семейства Windows ориентированы, в первую очередь, на графический интерфейс, однако использование командной строки в ряде случаев не только не менее эффективно, но зачастую является наиболее оптимальным способом управления вычислительным процессом, особенно при администрировании систем. Кроме того, командная строка является базовым интерфейсом операционных систем

семейства UNIX. Универсальность командной строки как интерфейса позволит пользователю, освоившему этот механизм для одного вида операционной системы, относительно легко освоить его и на другой.

Запустить командный интерпретатор Windows можно, набрав в строке «Открыть» окна «Запуск программы» команду cmd1 (для операционных систем Windows 2000/XP и более поздних версий). Указанное окно открывается после выбора пункта «Выполнить…» в меню «Пуск». При этом откроется консольное окно (пример такого окна для Windows 2000 показан рис. 1.1). Щелчок правой кнопкой мыши по заголовку окна открывает доступ к меню, среди пунктов которого имеется пункт «Свойства», при выборе которого открывается диалоговое

Рис. 1.1. Командная строка Windows 2000.

окно настройки параметров окна командной строки.

Получить справку о полном составе команд интерпретатора можно, набрав команду help2. Кроме того, справочная система Windows предоставляет информацию о командах и их параметрах. Для получения справки о конкретной команде необходимо после имени команды через пробел набрать ключ /?, либо набрать имя команды, о которой требуется справка, после команды help через пробел. Например:

1Здесь и далее по тексту команды и параметры ввода будут выделяться шрифтом Courier с полужирным начертанием.

2В ходе выполнения этой и последующих работ, перед запуском любой команды внимательно ознакомьтесь с содержанием справки по данной команде. Запрещается выполнение любых команд, влекущее нарушение нормального функционирования компьютера, изменение настроек операционной системы и изменение или уничтожение информации других пользователей.

help /? help help

Часть команд реализованы «внутри» командного интерпретатора cmd.exe – это, так называемые, внутренние команды, многие их которых мигрировали в Windows из операционной системы DOS. Другие команды реализованы в виде отдельных утилит и расположены, как правило, в той же директории, что и cmd.exe (по умолчанию это

..\WINNT\system32 или ..\WINDOWS\system32, для более поздних вер-

сий ОС имеются аналогичные директории).

Командные (пакетные) файлы

При работе пользователя Windows (в том числе и администратора) часто возникает ситуация, когда необходимо регулярно выполнять группу последовательных операций: например, удалить «лишние» файлы, создать необходимую папку, выбрать файлы по определенному критерию, скопировать эти файлы в созданную папку и затем упаковать ее в архив. Безусловно, все эти операции не являются сложными или требующими каких-либо специальных средств, однако в совокупности требуют относительно много времени и внимания со стороны пользователя. Выполнение таких часто повторяющихся операций может быть автоматизировано путем использования командных файлов.

Командным (пакетным) файлом называется неформатированный текстовый файл, содержащий одну или несколько команд операционной системы. Имена командных файлов имеют расширения .cmd (Windows 2000/XP/Vista/7/) или .bat (Windows 95/98/ME). Операцион-

ная система последовательно обрабатывает команды пакетного файла после ввода его имени в командной строке или запуска из другой программы.

В командный файл могут входить как внутренние, так и внешние команды Windows, кроме этого, существует набор команд, предназначенных для использования в пакетных файлах, хотя некоторые из них могут использоваться и в командной строке. Это команды call, echo, for, if, goto, rem, shift и др. Кроме того, в командных файлах используются специальные символы: @ (отключение вывода на экран), % (для организации работы с замещаемыми параметрами и переменными окружения), >, <, >>, | (перенаправление вводавывода), == (операция проверки равенства) и др. Подробную информацию об использовании этих команд и специальных символов можно получить в справочной системе Windows.

Для создания командного файла может использоваться любой текстовый редактор, работающий с неформатированным текстом, на-

пример Notepad.exe. Созданный командный файл сам может считаться внешней командой и может быть запущен как из командной строки, так и из другого командного файла. Кроме того, для командного файла может быть создан ярлык, что упрощает доступ к командному файлу.

Рассмотрим в качестве примера командный файл, автоматизирующий копирование всех файлов c расширением *.doc из заданной директории на диск A.

@rem Clear current doc files @echo Insert disk A

@del a:\*.doc

@rem Copy from given directory to disk A @copy %1\*.doc a:\

Первая и четвертая строка командного файла – это комментарии, текст которых вводится после команды rem. Вторая строка выводит текст, предлагающий вставить пользователю дискету в дисковод A, третья предполагает удаление с диска A существующих файлов с расширением *.doc, последняя производит собственно копирование. При этом в качестве папки источника копирования будет использована папка, которую пользователь должен указать в командной строке через пробел после имени командного файла. Такой способ задания аргументов осуществляется при помощи замещаемых параметров: %0 – имя командного файла, %1 – первый аргумент в командной строке, %2

– второй и т.д. В процессе выполнения командного файла эти идентификаторы заменяются фактическими аргументами – строками, которые были переданы командному файлу в момент его запуска.

1.2. Задание

1.Ознакомиться с составом и функциональным назначением команд

Windows.

2.Исследовать команды работы с файловой системой, диагностирования сети, управления приложениями и команды, использующиеся при создании командных файлов.

3.Выбрать несколько признаков классификации и, задав их значения, провести классификацию команд. В результате необходимо получить не менее четырех групп команд. В отчете по лабораторной работе привести результаты классификации в виде таблицы:

Общий признак

Команды

Характерные особенности

4.Разработать и отладить командный файл в соответствие с вариантом, указанным преподавателем (в задании указано то, что должен

выполнять разработанный командный файл). Для отладки командного файла создать тестовые исходные данные, например директорию, содержащую файлы с разными расширениями, например

*.doc, *.xls, *.pas, *.cpp, *.cpp и др.

Вариант Задание Найти все файлы с расширением, задаваемым в качестве

параметра командного файла, содержащие некоторую за-

1данную строку (второй параметр командного файла), занести результаты поиска (имена файлов) в выходной файл и упаковать этот файл в архив (любым архиватором).

Занести имена файлов и каталогов, упорядоченные по именам в выходной файл. Перечень анализируемых каталогов

2находится во входном файле. Имена входного и выходного файла должны передаваться в качестве параметров командного файла.

Создать вложенную директорию, в качестве имени которой должна использоваться текущая дата. Скопировать в созданную директорию все файлы с расширением, задавае-

3мым в качестве параметра командного файла, заархивировать ее и переместить архив на съемный носитель. При выполнении операции со съемным диском попытаться выполнить проверку на его наличие.

Создать вложенную директорию, в качестве имени которой должна использоваться текущая дата. Скопировать в созданную директорию архив со съемного диска, извлечь из

4него и переместить файлы, имеющие определенное расширение (задается в качестве параметра), в текущую директорию. При выполнении операции со съемным диском попытаться выполнить проверку на его наличие.

Втекстовом файле, имя которого задается в качестве параметра, задан список фамилий. Создать каталоги с соответ-

5ствующими именами. Обратить внимание на корректное отображение в именах каталогов кириллицы. (Дополнительно – при создании папок пронумеровать их).

Втекстовом файле, имя которого задается в качестве пара-

6метра, задан список приложений. Остановить выполнение заданных приложений.

Переименовать файлы в текущей папке, удовлетворяющие

7шаблону, который задается в качестве первого параметра командного файла, дописывая в имя строку, передаваемую

вкачестве второго параметра.

Сравнить содержимое двух директорий. Результат сравне-

8ния (имена файлов, принадлежащих одной папке и отсутствующих в другой, и наоборот) занести в файл. Имена папок и файла должны задаваться в качестве параметра.

Текстовый файл, имя которого задается в качестве пара-

9метра, содержит неупорядоченный список строк. Упорядочить строки и занести эти строки в файл, имя которого задается в качестве второго параметра.

Создать файл, имя которого задается в качестве параметра,

содержащий перечень приложений, выполняющихся в сис-

10теме в моменты времени, которые заданы в файле, имя которого также передается в качестве параметра. Списки приложений должны быть помечены временем, при котором производилась проверка.

Исходный каталог содержит файлы, имеющих три типа расширений (например, *.doc, *.xls, *.ppt). Разработать командный файл, который осуществляет разделение (сорти-

11ровку) исходных файлов на три подкаталога, имена которых включают дату запуска процедуры сортировки и тип расширения (например, «20120901 xls»). Имя обрабатываемого каталога должно передаваться в качестве параметра командного файла.

Каталог содержит файлы. Разработать командный файл, который осуществляет добавление в начала имен файлов их номера, причем, в зависимости от количества файлов, необходимо обеспечить наличие в начале номера необхо-

12димого количества «выравнивающих» нулей. (Если файлов меньше десяти, но нули отсутствуют, если количество файлов больше 10, но меньше 100, то номера первых файлов должны иметь формат «01», «02» и т. д.). Имя обрабатываемого каталога должно передаваться в качестве параметра командного файла.

Два каталога содержат файлы, имеющие одинаковые и разные имена. Командный файл должен обеспечить копирование файлов, имеющих разные имена в третью директорию

13(имя которой – текущая дата), создаваемую автоматически при запуске командного файла. Имена обрабатываемых каталогов должны передаваться в качестве параметров командного файла.

Фрагмент файловой системы содержит большое количество мультимедиа файлов различного типа. Разработать командный файл, который осуществляет подсчет количества

14файлов каждого типа и их объем и записывает эту информацию в выходной файл. Имя анализируемого каталога и имя выходного файла задаются в качестве параметров командного файла.

Во входном файле задан перечень динамических библиотек (dll). Разработать командный файл, который формирует

15выходной файл, содержащий имена процессов (приложений), которые используют эти динамические библиотеки. Имена входного и выходного файлов задаются в качестве параметров командного файла.

Во входном текстовом файле содержатся логины пользователей и приложения (процессы), которые не должны использоваться соответствующими пользователями. Разработать командный файл, который сканирует выпол-

16няющиеся приложения и в случае обнаружения недопустимого для пользователя приложения завершает его, делая соответствующую запись в журнале (выходном файле). Имена входного и выходного файлов передаются в командный файл в качестве параметров.

В каталоге хранятся текстовые файлы, в каждом из которых от 10 до 100 строк (например, названий песен). Разработать командный файл, который осуществляет слияние

17указанных текстовых файлов в один (построчно) и при этом последовательно нумерует строки. Имена входного и выходного файлов передаются в командный файл в качестве параметров.

Входной каталог (имя задается в качестве параметра командного файла) содержит различные «офисные» документы (текстовые, таблицы, презентации и т. д.). Разработать

18командный файл, который формирует выходной файлотчет, содержащий дату формирования отчета и далее строки – категория файлов и количество файлов в этой категории. Имя выходного файла также задается в качестве параметра командного файла.