Главная страница

Лаб_1. Лабораторная работа Пользовательский интерфейс командной строки в Windows


Скачать 144.5 Kb.
НазваниеЛабораторная работа Пользовательский интерфейс командной строки в Windows
Дата09.03.2020
Размер144.5 Kb.
Формат файлаdoc
Имя файлаЛаб_1.doc
ТипЛабораторная работа
#111287

Лабораторная работа № 1. Пользовательский интерфейс командной строки в Windows

Цель работы


  1. Приобретение навыков работы с интерфейсом командной строки в Windows.

  2. Овладение приёмами управления файловой системой с использованием интерфейса командной строки.

  3. Разработка командных файлов.

  4. Изучение программы отладчика - debug.

Краткие теоретические сведения


1. Интерфейс командной строки Windows. Состав команд управления.

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

ПускВыполнить, затем набрать cmd (команда Windows - сокращение от слова commander).

Используя рубрики главного меню: ПускПрограммыСтандартныеКомандная строка.

Этими действиями вызывается программа cmd.exe - 32-разрядный интерпретатор команд. В обоих случаях на экране дисплея должно появиться окно с мигающим курсором - приглашение к вводу команд.

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

Весь перечень внутренних команд Windows можно просмотреть, если в командной строке выполнить команду help. Поскольку весь перечень команд перекрывает размер экрана дисплея, то для ознакомления с каждым элементом перечня следует использовать полосу прокрутки окна или вызов на экран частей перечня постранично. Для этого следует набрать более сложную команду, состоящую из конвейера двух команд help|more.

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

команды справочной системы: HELP, HELP имя_ команды, имя команды /?;

команды файловой системы: ATTRIB, CD, CHDIR, CHKDSK, CLS, СОМР, COPY, DEL, DIR, DISKCOMP, DISKCOPY, ERASE, FC, FIND, FINDSTR, FORMAT, LABEL, MD, MKDIR, MOVE, PUSHD, POPD, PUSHD, PRINT, RD, REN, RENAME, REPLACE, RMDIR, SORT, TREE, TYPE, VERIFY, VOL, XCOPY;

команды управления работой ОС: ASSOC, AT, BREAK, CACLS, СНСР, CHKNTFS, CMD, COLOR, COMPACT, CONVERT, DATE, DOSKEY, FTYPE, GRAFTABL, MODE, MORE, PATH, PROMPT RECOVER, SET, START, SUBST, VER;

команды пакетных (командных) файлов: CALL, ECHO, ENDLOC, AL, EXIT, FOR, GOTO, IF, PAUSE, REM, SETLOCAL, SHIFT.

Кроме перечисленных команд имеется еще одна группа для работы в компьютерных сетях. Перечень этих команд может быть получен командой net /?. Синтаксис данной команды: net [accounts | computer | config | continue | file | group | help | helpmsg | localgroup | name | pause | print | send | session | share | start | statistics | stop | time | use | user | view].

Более подробную информацию по каждой команде можно получить, если после команды help в качестве параметра набрать имя интересующей команды или имя команды, а затем ключ /?. Для сетевых команд следует набирать net имя команды /?, а для получения подробного описания команды net help имя команды или net имя команды /help.

Командой, набираемой в командной строке, является собственно имя команды, за которым могут следовать ключи (опции) - указания, модифицирующие поведение команды, и аргументы (параметры) - названия объектов, над которыми должна быть выполнена команда. Ключи начинаются со знака слэша / и состоят из одного или нескольких символов. Квадратные скобки ([ ]) в пояснениях обозначают, что эта информация не является обязательной при наборе команды.

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

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

По умолчанию предполагается, что результаты выполнения вводимых команд отображаются на экране дисплея. При желании можно использовать так называемое перенаправление ввода-вывода. Для этого используются следующие символы: символ < - для перенаправления ввода, а символы > и >> - для вывода. Строка типа команда < имя_файла обозначает, что данные для выполнения команды должны браться из файла, обычно текстового. Строка типа команда > file.txt обозначает, что вывод результатов выполнения команды вместо экрана дисплея требуется записать в текстовый файл file.txt. Если такового файла в текущем каталоге нет, то средствами операционной системы он создается. Запись осуществляется в начало файла. Запись производится в конец файла при использовании команды вида команда >> file.txt.

Наиболее часто используемые команды управления компьютером.

  1. Команда сls - команда очистки поля экрана.

  2. Команда ver – команда проверки и информирования пользователя об установленной, работающей версии программного обеспечения.

  3. Команда date - команда определения и смены текущей даты.

  4. Команда time – команда определения и смены значения реального времени.

  5. Команда prompt обеспечивает настройку вида приглашения по желанию пользователя. Команда может иметь множество параметров. Стандартным видом приглашения служит prompt $p$g, что обозначает вывод в приглашении имени текущего (рабочего) каталога (папки) и знака >.

  6. Команда mem - команда вывода информации о распределении оперативной памяти между загруженными программами. Эта команда относится к внешним командам, т.е. в определенной папке Windows, размещенной на диске, имеется соответствующий файл (файл mem.exe). Ключи команды позволяют детализировать выводимую информацию о распределении памяти.

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

2. Команды управления файловой системой Windows.

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

  1. Команда start служит для запуска указанной в качестве параметра программы или команды в отдельном окне. Правда, запуск отдельных программ можно осуществлять и минуя эту команду. Например, следующие варианты команд: start Document.txt или start notepad Document.txt или notepad Document.txt приводят к одному и тому же эффекту - вызову программы Блокнот с последующей загрузкой в него файла Document.txt, если такой файл существует.

Команда start позволяет управлять приоритетами программ. Значение приоритета задается в виде параметра сразу после команды start перед именем запускаемой программы, например: start /low notepad, start /high test.bat.

  1. Команда dir - команда вывода на экран дисплея содержимого каталогов (папок). Команда выдает полный перечень всех папок и файлов в исследуемом каталоге, данные о них (имена, размеры, дата и время создания), а также сводные данные. Две первые строки содержимого каждого каталога вместо имен помечены точкой и двумя точками, что обозначает соответственно вход и выход в данном каталоге (папке).

Формат этой команды dir диск: путь\имя_файла. Наиболее употребительными вариантами применения этой команды являются следующие:

A) Использование команды dir без параметров – вывод содержимого текущих каталогов и дисков.

Б) Использование команды dir с параметром /р - осуществляется вывод страницами, для перехода на следующую страницу следует нажать любую клавишу.

B) Использование команды dir с параметром /w - на экран выдается краткая информация о содержимом каталога в виде пяти столбцов с именами файлов и сводные данные.

  1. Команда tree строит дерево каталогов и выводит его на экран дисплея. Формат команды: tree диск:\маршрут/f. Ключ /f означает, что список файлов каждого каталога выводится на дисплей. Если в команде tree не указаны параметры диск:\ и маршрут, то, по умолчанию, считается, что требуется вывести структуру подкаталогов и файлов текущего каталога.

Команда tree \ предполагает вывод всей структуры дерева каталогов текущего диска. Изучение дерева каталогов большого объема можно проводить постранично, используя конвейер команд, например tree d:\ /f | more. Результат выполнения команды tree можно сохранить в любом текстовом файле, указав его имя, например tree d:\ /f tree.lst, или путем перенаправления операции вывода (используя знаки > и >>).

  1. Команда find используется для поиска фрагмента текстовой строки (определенного набора символов - шаблона поиска) в одном или нескольких файлах. Часто используется в конвейерах с другими командами для фильтрации их вывода. Например, dir|find «.txt» выдает весь перечень строк, характеризующих текстовые файлы.

  2. Команда subst заменяет длинный маршрут доступа к объектам каталога одной буквой или более простым идентификатором. По существу команда создает виртуальный, логический диск с более простым доступом. Формат команды: subst диск1: диск2:\маршрут\. Параметр диск1: несет указание буквы (идентификатора) виртуального диска, которой будет обозначаться требуемый каталог. Параметр диск2:\марщрут\ указывает местонахождение (наименование диска и маршрут следования) требуемого каталога.

  3. Команда set предназначается для вывода, создания и удаления переменных среды окружения. Она имеет формат set [переменная = [строка]], где переменная задается именем переменной среды, строка - это строка символов, присваиваемая указанной переменной.

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

С помощью команды set можно выполнять простейшие вычисления. Для этого нужно использовать команду set с ключом /A. Например, команда set /A v=v+5 увеличивает значение переменной окружения на 5.

  1. Команда mkdir или md предназначается для создания новых каталогов (папок). Формат команды mkdir (или md) диск: путь\имя_каталога. Если в команде не указывается диск и путь, то по умолчанию подразумевается, что создается дочерний каталог текущего каталога.

  2. Команда chdir (или более коротко cd) - команда смены каталога. Команда имеет формат chdir диск: путь.

Команда имеет следующие особенности применения.

  • При выполнении команды новым текущим каталогом становится последний из указанных в пути каталогов.

  • Если в команде параметр диск: путь не указан, то командный процессор выводит сообщение пути к текущему каталогу.

  • Если поиск нового каталога требуется начать с корневого каталога, то в качестве первого символа пути используется символ \ (команда cd\). В противном случае поиск начинается с текущего каталога.

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

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

  • Для перехода в каталог другого диска следует с командой использовать ключ /D.

  1. Команда copy (копирование)- помимо основного своего назначения - копирования файлов, используется для объединения (конкатенации) файлов, создания новых текстовых файлов, передачи параметров на отдельные устройства и др. В спецификациях источника и приемника допускается применение шаблонов групповых операций. В шаблонах используются символы: * - произвольное сочетание символов, ? - произвольный одиночный символ.

Примеры использования.

  • Команда сору a: s*.txt c:\proba выполняет копирование с дискеты всех текстовых файлов с именами, начинающимися с буквы s и расширением txt, в каталог C:\proba.

  • Команда сору a:*.* nul осуществляет копирование всех файлов с дискеты а: на несуществующее псевдоустройство nul с целью проверки их «читаемости».

  • Команда copy chl.doc+ch2.doc+ch3.doc book.doc /v производит объединение трех файлов chl.doc, ch2.doc и ch3.doc в один файл book.doc в текущем каталоге текущего диска с проверкой записи.

  • Команда copy ch*.doc book.doc /v производит объединение всех файлов ch*.doc с произвольными номерами в один файл book.doc в текущем каталоге текущего диска с проверкой записи.

  • По команде copy con+trans.bat trans.bat строки, вводимые с клавиатуры, добавляются в начало уже существующего файла trans.bat. Ввод завершается нажатием клавиш +Z и .

Все варианты команды copy могут использовать ключи /а, /b, /v. Ключ /а рассматривает обрабатываемые файлы как текстовые в коде ASCII. Ключ /b обозначает, что файлы рассматриваются как двоичные. Если объединяются текстовые файлы, то признаки окончаний этих файлов (+Z или F6) изымаются и остается только последний. При объединении двоичных файлов признаки окончаний файлов не изымаются. Ключ /v включает проверку правильности результата после копирования или объединения.

Имеется модификация команды copy: copy con prn. Команда расшифровывается: копировать информацию, набираемую на клавиатуре (con - консоли), на принтер (prn - ключевое слово, обозначающее принтер). Создание текстовых файлов можно выполнить следующей командой copy con диск: путь\имя_файла.расш. Например, для создания файла fl.txt в текущем каталоге необходимо выполнить команду copy con fl.txt. Этой командой ввод текста с клавиатуры (консоли con) осуществляется в новый, создаваемый этой операцией файл fl.txt. После набора каждой строки следует нажимать клавишу . Окончание набора файла должно заканчиваться нажатием клавиш +Z или F6 (признаком окончания файла), а затем .

  1. Внешний редактор, вызываемый командой edit диск:путь\имя_файла.расш. Этот редактор имеет собственное, достаточно подробное меню.

  2. Команда type - команда просмотра содержимого текстовых файлов. Формат команды type диск: путь\имя_файла.расш. Если в параметрах команды не задан диск и путь, а указано только имя файла, то подразумевается, что ведется работа с файлами текущего каталога.

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

  • R - «только для чтения», т.е. нельзя модифицировать файл и уничтожить его;

  • А - «архивный», т. е. +А обозначает, что снимались копии данного файла; соответственно, -А - файл является вновь созданным;

  • Н - «скрытый», скрытые файлы не показываются командой dir и некоторыми программными оболочками;

  • S - «системный», этот атрибут показывает, что файл является принадлежностью операционной системы.

Изменение атрибутов файлов осуществляется командой attrib. Формат команды Attrib +|-атрибут диск:\маршрут\имя файла /s.

Установка любого атрибута производится знаком +, отмена - знаком - (минус). Можно задавать изменение сразу нескольких атрибутов в любой последовательности. Ключ /s, стоящий в конце формата, указывает, что процесс изменения атрибутов файла (файлов) распространяется не только на текущий каталог, но и на все каталоги, подчиненные текущему.

Примеры.

  1. Команда Attrib +А+Н +R primer.txt присваивает файлу сразу три атрибута: только для чтения, архивный и скрытый файлу primer.txt.

  2. Команда Attrib -R a:*.* /s с использованием шаблона снимает атрибут «только для чтения» у всех файлов диска А, т. е. находящихся на дискете.

  1. Команда del - команда удаления одного или нескольких файлов. Аналогом этой команды служит еще одна команда erase. Формат команд del (erase) – диск: путь\имя_файла.расш. Если в команде не указан файл, то подразумевается, что удалению подлежит (подлежат) файл или файлы текущего каталога. В спецификации файла допускается использование групповых операций. Команды del не удаляют каталоги (подкаталоги). Они используются только для удаления в них файлов.

  2. Команда rmdir (или rd) - команда удаления каталога. Формат команды rmdir (rd) диск: путь. Указываемый в команде путь каталог должен завершаться именем удаляемого каталога. Удаляемый каталог должен быть пустым.

3. Основы разработки командных (пакетных) файлов.

Командный файл - это группа последовательных команд настройки компьютера на определенный режим или выполнение определенных операций. В простейшем случае командный файл может быть представлен в виде определенной последовательности отдельных команд операционной системы.

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

  1. Вызов на исполнение командного файла осуществляется командой следующего формата диск:\полный_путь_к_ком.файлу\имя_ком.файла [p1 p2 ...р10]. Содержимое в квадратных скобках указывает, что командный файл может иметь до 10 фактических параметров, замещающих формальные параметры, присутствующих в тексте файла. Команда Shift позволяет снять это ограничение.

  2. Имя командного файла образуется по обычным правилам. Расширением должно быть только сочетание bat (сокращение от слова batch - пачка) или cmd.

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

  4. Командный файл выполняется командным процессором строка за строкой.

  5. Выполнение командного файла может быть прекращено командами + или +C.

  6. Из командного файла можно вызывать другой командный файл командой Call (с возвратом) или обычной командой вызова (без возврата).

  7. Командный файл может содержать любые внешние и внутренние команды операционной системы, а также специальные внутренние команды.

  8. Формальные параметры, включаемые в строки командного файла, имеют вид %0, %1 и т.д. до %9. Фактические значения параметров вводятся в строке вызова командного файла; вводимые параметры подставляются на место формальных параметров %1, %2 и т.д. по порядку. На место формального параметра %0, если он встречается в тексте командного файла, подставляется имя самого командного файла.

  9. Для обращения к переменным окружения их имена следует заключать в знаки %, например %ТЕХТ%.

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

Для построения командных файлов используются специальные внутренние команды операционной системы echo, goto, for, if, pause, rem, shift, а также внешние find, sort, mode, more и др.

Команда echo предназначается для отключения «эха» на экране дисплея, т.е. она не позволяет выводить лишнюю информацию на монитор (блокирует выдачу на экран последовательностей команд, включенных в командный файл, и текстовых сообщений при выполнении этих команд). Форматы команды:

  • echo off - запрет вывода на экран;

  • echo on - разрешение вывода на экран;

  • echo (без параметров) - запрос состояния эха (on или off);

  • echo + текстовое сообщение - вывод текстового сообщения на экран;

  • echo %имя переменной окружения% - вывод текущего значения переменной окружения.

При использовании Echo следует помнить:

  • при запуске системы по умолчанию устанавливается режим «echo on»;

  • режим «echo off» действует только до конца командного файла или до очередного переключения режима командой «echo on»;

  • echo влияет только на вывод сообщений командного файла, но не влияет на вывод сообщений из программ пользователей;

  • для подавления самой команды «echo off» надо поставить впереди знак @.

Для лучшего понимания содержимого командного файла используются комментарии, вводимые с помощью команды rem (remark - примечание). Командный процессор полностью игнорирует всю информацию, которая размещается за словом rem.

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

При остановке работы командного файла на экране появляется текст строки сообщения в режиме echo on, а под ним фраза «Press any key to continue» - Нажмите любую клавишу для продолжения (для продолжения работы файла).

Команду чаще всего используют:

  1. для разбиения на страницы вывода информации на экран дисплея полезно;

  2. для выполнения каких-либо вспомогательных действий, например:

…..

@

pause Установите дискету с .... на дисковод А:

@ echo off

…..

  1. для управления работой командного файла, например: если в ответ на команду pause нажать +C, то появляется вопрос «Terminate batch job (Y/N)?» - Завершить выполнение задания (командного файла)? Выбор Y - останавливает выполнение командного файла, а N - обеспечивает продолжение его выполнения.

В случаях, когда командный файл выполняется с частыми остановками и появление множества фраз «Press any key to continue» нежелательно, строка с командой может выглядеть как Pause > nul, т.е. вывод переадресуется в несуществующее устройство nul.

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

Пусть требуется создать командный файл с именем fstring.bat, осуществляющий различные виды поиска в текстовых файлах. Командный файл можно сформировать из одной команды:

С:\>сору con fstring.bat

Find /%l «%2» c:\%3

^Z

В командном файле содержатся замещаемые параметры:

  1. %1 - запрашивает режим поиска - значение ключа (см. описание команды find):

    1. с - поиск с определением общего числа строк в файле, содержащих шаблон поиска;

    2. i - поиск строк, содержащих шаблон поиска, без учета регистра символов (прописных и строчных букв);

    3. n - поиск строк, содержащих шаблон, с отображением порядковых номеров строк;

    4. v - вывод на экран всех строк файла, не содержащих шаблон поиска.;

  2. %2 – определяет запрос строки символов для поиска;

  3. %3 - запрашивает с диска С: имя файла, в котором будут отыскиваться требуемые фрагменты.

Теперь запуск командного файла нужно осуществлять с тремя параметрами %1, %2, %3. Например, запуск строкой: fstring.bat с Что example.txt обеспечит вывод числа повторений в файле example.txt слова «Что»; fstring.bat n он example.txt - вывод строк, содержащих слово «он» и т.д.

Команда if - условное выполнение команд, организует разветвление при выполнении командного файла. Формат оператора if: If условие команда. В качестве условия обычно используются:

  1. проверка наличия файла. В этом случае в качестве условия записывается фраза exist диск: путь\имя_файла.расш;

  2. проверка кода завершения отдельных программ по значению внутренней переменной системы с именем Errorlevel. В этом случае в качестве условия записывается фраза «errorlevel значение». Условие считается истинным, если код завершения равен или больше параметра значение. Командами ОС, устанавливающими коды завершения, являются backup, diskcomp, diskcopy, format, graftabl, keyb, replace, restore, setver, xcopy. Значение переменной errorlevel может формироваться и многими вспомогательными (утилитами) и прикладными программами;

  3. проверка идентичности двух символьных строк. Строка условие при этом записывается в виде строка_1==строка_2 (двойной знак =). Предваряя любому из перечисленных условий слово not, можно проверять противоположное условие.

Командный файл search-file.bat позволяет отыскивать и поэкранно просматривать нужный файл в любом каталоге. Текст файла:

echo off

cls

If /%1==/ goto error1

if not exist %1 goto error2

type %l|more

goto end

:error1

echo Вы забыли указать имя искомого файла!

:goto end

:error2

echo файла %1 на этом диске нет!

:end

В этом фрагменте два слэша / в операторе if играют роль скобок. Имя нужного файла задается в качестве параметра в строке вызова файла search-file.bat. Например: search-file.bat proba.txt. Здесь имя искомого файла proba.txt служит фактическим параметром, значение которого должно заменить формальные параметры %1 внутри командного файла.

Для многократного выполнения отдельных команд применяется команда for. Она позволяет обрабатывать целые группы файлов. Команда имеет следующие форматы:

for %%переменная in (набор) do команда - для строк командных файлов;

for %переменная in (набор) do команда - для режима командной строки (автономного выполнения команды).

В качестве параметров команды используются:

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

  • набор - одно или несколько символьных слов или спецификаций файлов. Спецификация файла имеет вид диск: путь\имя_файла.расш. Допускаются шаблоны групповых операций. Слова и спецификации файлов разделяются пробелами или запятыми. Максимальная длина строки набора - не более 127 символов;

  • команда - команда интерпретатора команд cmd, выполняемая для каждого слова или файла из параметра набор.

Обычно в командный файл можно передавать до 9 параметров, иногда этого недостаточно. Команда shift (сдвиг) позволяет сдвигать строку параметров влево на один параметр. Применение данной команды позволяет снять ограничение на число параметров. Командный файл vwcmdrow.bat, текст которого приводится ниже, отображает видимые системой параметры (от %0 до %9) строки запуска файла. Сдвиг каждый раз строки параметров позволяет увеличить число параметров. Текст файла:

echo off

:start

If /%0==/ goto end

echo %0 %1 %2 %3 %4 %5 %6 %7 %8 %9

shift

goto start

:end

Пример: test7.bat a s d f g h j k I z x c v b n m. Однобуквенные параметры командной строки можно интерпретировать как имена каких-либо файлов, в данном случае несуществующих.

Командный файл movefiles.bat копирует из текущего каталога на дискету ряд текстовых файлов с проверкой правильности записи и удалением исходных файлов. Перед каждым удалением файла выдается предупреждающее сообщение. В момент приостановки можно прервать дальнейшее выполнение командного файла, нажав клавиши +C. Текст файла:

:lоор

copy %l.txt A:/v

pause Удаляю скопированный файл

del %l.txt

shift

if not %l.===. goto loop

Запуск этого файла выполняется командой movefiles.bat 01 02 03 04 05 06 07 08 09 10 11 12 и т.д., если текстовые файлы имеют имена 0l.txt, 02.txt, 03.txt и т.д.

4. Использование программы Debug

В составе любой операционной системы, а также в любой среде разработки программных комплексов имеются так называемые программы-отладчики. У операционной системы MS DOS таким отладчиком была программа debug, в последних версиях OS Windows такой программой является ntsd.exe. Первая из этих программ используется для однопрограммных однопользовательских режимов работы и 16-разрядных приложений. Вторая программа предназначена для работы в многопрограммном многопользовательском режиме работы вычислительной системы с 32-разрядными приложениями.

Вызов программы debug осуществляется путем набора в командной строке ее имени и нажатием клавиши . Компьютер переходит в режим эмуляции MS DOS. В следующей строке появляется мигающий минус «-» -приглашение к вводу нужной команды. Выход из программы debug осуществляется набором буквы q (Quit - завершение работы).

Список всех команд, выполняемых программой debug можно получить, если в строке приглашения набрать -?.

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

Команда r (register) предоставляет пользователю информацию о текущем состоянии всех программно доступных регистров компьютера.

Функциональное назначение отображаемых регистров следующее. Регистры данных или пользовательские регистры;

  • AX - регистр аккумулятора;

  • ВХ - базовый регистр;

  • СХ - счетчик;

  • DX - регистр данных. Указатели:

  • SP - указатель стека;

  • ВР - указатель базы;

  • SI - источник данных (индекс);

  • DI - приемник данных (индекс);

  • IP - указатель команд (инструкций). Сегментные регистры:

  • CS - сегмент команд:

  • DS - сегмент данных;

  • SS - сегмент стека;

  • ES - регистр дополнительного сегмента данных.

Правую часть второй строки занимают мнемонические значения разрядов регистра флагов FLAGS (NU UP El...), значения которых используются для ветвления вычислительного процесса.

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

Некоторые полезные возможности программы debug.

  1. Проверка «серийного номера и даты копирайта». Эта информация находится в ПЗУ, начиная с адреса FE000h. Здесь находятся: семизначный номер компьютера, дата копирайта, фирма изготовитель. Данная информация является символьной. Получаем по команде: -d FE00:0 .

  2. Проверка даты «прошивки» ROM BIOS. Информация находится по адресу: FFFF5h. Формат даты - американский, т.е. mm/dd/yy. Вводим адрес и выполняем команду _d FFFF:5 . По этой команде должна быть выдана информация о дате «прошивки» ПЗУ (ROM BIOS). В верхней строке в символьном представлении читаем интересующую нас дату.

  3. Операция поиска. Если требуется определить местоположение в памяти какой-либо информации (например, какого-либо слова), то можно набрать и выполнить команду S (Search - поиск), задав адресные границы поиска и «ключевое слово». Например: -s F000:0 L FFFF “IBM”, в которой F000:0 - начальный адрес памяти ПЗУ, FFFF - конечный адрес, а “IВМ” - ключевое слово. Ниже выполненной команды следует перечень адресов, в которых содержится искомое ключевое слово.

ЗАДАНИЯ ДЛЯ САМОСТОЯТЕЛЬНОГО ВЫПОЛНЕНИЯ


Задание 1.

  1. Определите текущую дату, установленную в компьютере. Установите новую дату, соответствующую дате будущего Нового Года. Определите день недели, на который попадает празднование. При выходе из режима командной строки установите текущую дату.

  2. Включите в строку приглашения сообщение о текущих значениях даты и времени. Включите в строку приглашения текст - приветствие пользователю типа «Пользователь! Вас ждут великие дела!». При выходе из режима командной строки установите стандартный вид приглашения.

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

Задание 2.

  1. Изучите команду dir.

    1. Создайте дочерний каталог (присвойте ему имя – свою фамилию по английски) для своего текущего каталога (E:\work). Используя команду dir, убедитесь в создании подкаталога.

    2. Сделайте дочерний каталог текущим, т.е. войдите в дочерний каталог. Подайте команду dir и объясните появившиеся сообщения.

    3. Выйдите сразу в корневой каталог. Вернитесь в исходный каталог. Создание всех файлов производите в нем.

  2. Создайте текстовый файл (c именем t.txt) с некоторым фрагментом текста из нескольких строк. Включите в него как английский, так и русский текст. Редактирование и сохранение файла выполните в редакторе WordPad. Для сохранения используйте текстовый формат MS DOS. Выполните команду find с различными ключами и шаблонами поиска элементов этого текста. Объясните результаты поиска.

  3. Создайте несколько текстовых файлов с наличием в них одних и тех же элементов текста. Организуйте поиск элементов текста в группе файлов, используя шаблоны имен файлов (например, *.txt, s*.lst) и их перечисление.

  4. Проверьте действие перечисленных конвейеров команд dir и find для собственного каталога, меняя режимы поиска и шаблоны. Объясните результаты поиска.

  5. Создайте логический диск для созданного каталога и перейдите на этот диск. Убедитесь, что механизм логических дисков упрощает работу пользователя. Выполните просмотр логических дисков. Удалите логический диск.

  6. Просмотрите переменные окружения. С помощью команды set создайте текстовую(вые) переменную(ые) окружения и приведите примеры ее (их) использования. Удалите созданные переменные окружения.

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

  8. Создайте новый текстовый файл, используя команду edit ff.txt. Просмотрите рубрики меню встроенного редактора edit. Создайте средствами редактора создать несколько текстовых файлов, выполните их редактирование и сохранение.

  9. Создайте небольшой текстовый файл, например fl.txt. Используя команду copy, скопируйте его в файл f2.txt.

  10. Используя команду copy, выполните конкатенацию 3-4 –х созданных вами ранее файлов в один файл с именем rs.txt. Результат просмотрите командой type и в редакторе edit.

  11. Используя команду tree, просмотрите дерево каталогов текущего диска, дерево каталогов диска C: и дерево каталогов папки E:\work. Вначале вывод выполните на экран. Затем, используя перенаправление, выведите, соответственно, в три файла. Затем, используя перенаправление, выполните все три вывода в один файл (последовательно). Просмотрите все сформированные файлы командой type и в редакторе edit.

  12. Самостоятельно изучите особенности применения и использования команд: sort, mode, more и др.

Задание 3.

Используя команду copy con имя_файла или edit имя_файла, создайте текстовый файл test1.bat со следующим содержимым:

echo off

cls

echo Hello!

echo:

echo Hello again!

Выполните его в автоматическом режиме и объясните появление фрагментов данных на экране. Используя редактор edit, замените первую команду echo off на echo on. Снова выполните его в автоматическом режиме и объясните появление фрагментов данных на экране.

Задание 4.

Используя команду copy con имя_файла, создайте командный файл test2.bat со следующим содержимым

echo off

rem Это первый комментарий cls

rem Это второй комментарий echo Hello!

rem Это третий комментарий

echo: (создание «пустой строки»)

echo Hello again!

rem Это четвертый и последний комментарий

Выполните этот файл, а затем замените первую команду echo off на echo on (или замените rem echo off) и снова выполните файл. Сравните и объясните различия в выводимой информации на экране дисплея. Верните файл в первоначальное состояние и подавите на экране вывод строки echo off.

Задание 5.

Уясните сущность использования формальных и замещаемых параметров в командных файлах. Создайте предложенные в пункте 3 теоретической части работы командные файлы и протестируйте их работу.

Задание 6.

Создайте и выполните файл test3.bat, имеющий следующее содержимое:

@ echo off

cls

goto met

echo эта строка выводиться не будет

echo эта строка тоже выводиться не будет

:met

echo эта строка будет выведена

echo эта строка также будет выведена

В этом фрагменте показано самостоятельное использование команды goto. Обратите внимание, как организован «обход» двух команд echo без их выполнения. Замените строку goto met на rem goto met и снова запустите этот файл. Объясните различия в результатах.

Задание 7.

В созданном каталоге сформируйте 3-4-е текстовых файла, различающихся размерами и содержанием (можно использовать ранее созданные). В режиме командной строки затем выполните команду for %d in (*.txt) do type %d. Измените набор, вместо шаблона файлов задайте имена файлов перечислением.

Задание 8.

Создайте командный файл test4.bat со следующим содержанием:

@ echo off

for %%S in (%1) do type %%S

Произведите запуск этого файла командой test4.bat *.txt. Поясните смысл включения в команду запуска строки *.txt, назначение всех знаков % в команде for.

Подсчитайте количество выполняемых циклов. Для этого введите переменную окружения и перед циклическим участком программы задайте ее значение (например, set /a d=0). В тело цикла включите подсчет числа повторений цикла (например, set /a d=d+l). После выхода из цикла прочитайте значение числа повторов командой set /a d или командой echo %d%. Подсказка (это лишь один из возможных вариантов решения): создайте вспомогательный файл test5.bat, поместив в него команду вывода файла на экран и команду подсчета повторений, и вызовите его командой call в цикле файла test4.bat с передачей ему необходимых параметров.

Задание 9.

Выполните упражнения 1-3 с программой debug, описанные выше. Проанализируйте результаты и сделайте выводы.

Контрольные вопросы


  1. Какого назначение интерфейса командной строки в Windows?

  2. Как получить информацию о внутренних командах интерпретатора команд cmd?

  3. На какие группы делятся внутренние команды интерпретатора команд cmd?

  4. Какой командой настраивается приглашение командной строки? Опишите её.

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

  6. Что такое перенаправление ввода? Вывода?

  7. Что такое конвейеры команд?

  8. Для каких целей удобно использовать внешний редактор edit?

  9. Какого назначение командных файлов?

  10. Перечислите основные команды используемые в командных файлах. Какого назначение каждой из них?

  11. Что такое переменные окружения? Как они задаются?

  12. Что такое формальные параметры командного файла и как они задаются?

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

  14. Опишите назначение команды shift.

  15. Перечислите и охарактеризуйте регистры процессора. Как получить их текущее содержание с помощью программы debug?

  16. Какую еще информацию позволяет получить программа debug?




написать администратору сайта