Знакомство с процессором командного языка ОС семейства Windows

Автор работы: Пользователь скрыл имя, 22 Апреля 2013 в 11:45, лабораторная работа

Краткое описание

Вопросы:
Дайте определение командного файла? Какое расширение имеет командный файл?
В чем отличие использования > и >>, при организации перенаправления вывода?
Как перенести длинную строчку в командном файле?

Прикрепленные файлы: 1 файл

ОС_Лаб_раб_№_1.doc

— 106.50 Кб (Скачать документ)

Лабораторная  работа № 1 : Знакомство с процессором командного языка ОС семейства Windows.

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

  1. Дайте определение командного файла? Какое расширение имеет командный файл?
  2. В чем отличие использования > и >>, при организации перенаправления вывода?
  3. Как перенести длинную строчку в командном файле?
  4. Каким образом передаются параметры командному файлу? Приведите пример командного файла с параметрами.
  5. Объясните назначение команды set. В чём преимущество использования переменных? Приведите пример командного файла, использующего команду set.
  6. Чем отличаются параметры командного файла от его переменных?
  7. В каких случаях может быть использована команда for? Приведите пример командного файла, использующего команду for.
  8. Какая команда применяется для вызова из одного командного файла другого командного файла? Приведите пример подобного командного файла (-ов).

Используйте дополнительный материал для подготовки ответов  на следующие вопросы:

  1. Что означает: экранировать любой другой символ с безусловным приоритетом.
  2. Объясните назначение операторов: <, >, >>, &, && и ||.

 

 «Исполняемые файлы DOS»

(Язык командных  файлов MS-DOS).

Указания: Задание выполняется под эмулятором командной строки Windows XP.

Введение

В операционной системе MS-DOS и во всех операционных системах семейства Microsoft Windows простейшим средством автоматизации обработки  файлов (и каталогов) служат так называемые командные файлы. Командные файлы — не единственное средство автоматизации работы пользователя даже из числа встроенных. В операционных системах семейства Microsoft Windows, начиная с версии 98, имеется еще Windows Script(ing) Host. Кроме того в этих целях может быть использован интерпретируемый язык Perl, Python или Ruby. Перечисленные средства, достаточно мощны, но требуют умения программировать, т.е. составлять и, что немаловажно, отлаживать программы, хотя бы на неплохом любительском уровне. Использование же командных файлов доступно всякому без особенной подготовки, вполне достаточно внимательности и здравого смысла.

Командный процессор

В состав многих операционных систем, в том числе, разработанных корпорацией Microsoft, входит командный процессор. Так называется программа, которая инициирует выполнение всевозможных действий в ответ на команды, вводимые пользователем с клавиатуры. В основном эти действия заключаются в запуске нужных программ с теми или иными параметрами. Но некоторые команды выполняются непосредственно командным процессором. В основном это те команды, которые служат для управления контекстом и последовательностью выполнения команд. Любая программа, которую технически возможно запустить из командной строки, рассматривается командным процессором как команда. Он не делает различий между «родными» командами, изначально встроенными в операционную систему, и программами, которые были установлены поверх нее.

Задание   №1

Для того чтобы  запустить командный процессор:

  1. Нажмите на кнопку Пуск. На экран будет выведено главное меню.
  2. Выберите в главном меню пункт Выполнить. На экран будет выведено диалоговое окно Запуск программы.
  3. В поле Открыть введите строку cmd.
  4. Нажмите на кнопку OK. На экран будет выведено окно командного процессора.

Командная строка и команды

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

Задание   №2

Для того чтобы  ввести команду:

  1. Наберите текст команды в командной строке (например команда ‘dir’).
  2. Нажмите на клавишу Enter.

Командный процессор и команды операционной системы описаны в эксплуатационной документации на последнюю. Эта документация частично содержится внутри самой операционной системы. Для доступа к ней предназначена команда help. По этой команде на экран выводится список доступных команд. Для того чтобы получить описание конкретной команды, в качестве параметра команды help следует указать ее имя (либо указать команду и через пробел /?).

Задание   №3

Для того чтобы посмотреть список доступных команд:

  1. Наберите текст команды help в командной строке.
  2. Нажмите на клавишу Enter.

 

Перенаправление ввода-вывода

Результат выполнения команды help не умещается на один экран (та же проблема возникает с текстом описания команды for). Это неудобство можно избежать благодаря перенаправлению выдачи результата в файл.

Задание   №4

Для того что  бы перенаправить результат выполнения команды в файл используется символ ‘>’:

  1. Откройте FAR (через мню Пуск, или введя команду far в «Запуске программы» - см. задание №1)
  2. Перейдите в вашу рабочую папку (в FARe: нажмите Alt+F1, выберите диск «Z: сетевой») и далее переедите в свою папку
  3. Нажмите сочетание клавиш Ctrl+O (переход к командой строке, чтобы вернуться в оболочку FAR, нажмите Ctrl+O снова)
  4. Наберите текст команды help > a.txt в командной строке.
  5. Нажмите на клавишу Enter.
  6. Посмотрите результат: Откройте через файловый менеджер FAR вновь созданный файл a.txt.
  7. Наберите текст команды help >> a.txt в командной строке.
  8. Нажмите на клавишу Enter.
  9. Посмотрите результат: Откройте через файловый менеджер FAR вновь созданный файл a.txt (выберите соотв. файл и нажмите клавишу F4).
  10. Определите в чем разница использования ‘>’ и ‘>>’ (Для этого соответствующие команды можно выполнить несколько раз, при этом каждый раз необходимо оценивать полученный результат)?
  11. Ознакомьтесь со списком доступных команд.

Задание   №5

Ознакомьтесь  с тем как работают команды move и ren:

  1. Изучите справку по этим командам.
  2. Создайте в вашем рабочем каталоге каталоги box и table.
  3. В каталоге box создайте файл test1.txt.
  4. Переместите файл test1.txt из каталога box в каталог table с помощью команды: move box\test1.txt table.
  5. Переименуйте файл test1.txt в файл test2.txt с помощью команды: ren test1.txt test2.txt.

 

Текущий каталог. Абсолютные и относительные  пути

При работе с  файловыми командами исключительную важность приобретает понятие текущего каталога. Дело в том, что при указании файла в качестве параметра команды мы всегда используем один из двух возможных способов указания на них: либо абсолютный путь, либо относительный путь. В полном пути мы указываем все, начиная с диска (или сетевого имени компьютера), например d:\misha\box\test1.txt. Какой бы каталог ни оказался текущим в момент ввода команды, полный путь будет соответствовать одному и тому же файлу. Для относительного пути текущий каталог служит отправной точкой. Простейший случай относительного пути — имя файла. В контексте выполнения команды оно означает файл с таким именем, расположенный в текущем каталоге.

Для записи относительного пути к текущему каталогу существует условная запись. (точка). Для записи относительного пути к каталогу, в котором содержится текущий каталог, существует условная запись .. (две точки). Команда copy *.* .\table копирует все файлы из текущего каталога в каталог table, расположенный рядом с ним.

 

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

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

 

help copy > copy.help

help move > move.help

md msdos-help

move *.help msdos-help

 

 

Задание   №6

  1. Объясните, что происходит в ходе выполнения указанных команд.

 

Командным файлам принято давать расширение bat. По нему файлы этого типа опознаются командным процессором. Этот файл можно назвать, например, make-help.bat.

Для того чтобы  запустить командный файл:

  1. Введите его имя в качестве команды. После этого командный файл будет выполнен.

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

 

if exist Z:\test.txt ^

copy test.txt ^

Z:\test\

 

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

При необходимости последовательность выполнения команд можно изменить с помощью управляющих.

Не путайте текущий  каталог с каталогом, в котором  находится запускаемый командный  файл. Предположим, текущим каталогом  является work, в нем находится каталог tools, а в каталоге tools хранятся командные файлы. Вы запускаете один из них командой tools\collect-images.bat. Так вот, «с точки зрения» этого командного файла, текущим каталогом все равно окажется work, а не tools.

 

Комментирование командного файла и его выдачи.

Команды echo и rem

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

В системе команд MS-DOS для  оформления комментариев предусмотрена  команда rem. Это фиктивная команда, которая не предполагает выполнения каких бы то ни было действий, но позволяет написать в строке после своего имени произвольный текст. Причем командный процессор не воспринимает его как синтаксическую ошибку.

Пример:

rem *****************************************************

rem Формирование файлов  справки по командам copy и move

rem *****************************************************

 

rem Формируем  файлы справки

help copy > copy.help

help move > move.help

 

rem Создаем каталог  для хранения файлов справки

md msdos-help

 

rem Перемещаем  файлы справки в подготовленный  каталог

move *.help msdos-help

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

При выполнении приведенного выше командного файла все команды  будут выводиться на экран по мере их выполнения, что не всегда удобно. Выдачу команд можно отключить с помощью команды @echo off. Символ «собака» перед командой echo означает, что и сама эта команда должна выполняться в «молчаливом» режиме. С таким же успехом мы могли бы не пользоваться командной echo off, а поместить «собаку» перед каждой командой.

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

@echo off

 

rem *****************************************************

rem Формирование файлов  справки по командам copy и move

rem *****************************************************

 

@echo Формируем файлы справки.  Одну секундочку...

 

rem Формируем файлы справки

help copy > copy.help

help move > move.help

 

rem Создаем каталог  для хранения файлов справки

md msdos-help

 

rem Перемещаем  файлы справки в подготовленный  каталог

move *.help msdos-help

 

echo Готово!

 

Передача  командному файлу параметров

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

Информация о работе Знакомство с процессором командного языка ОС семейства Windows