Практическая работа №2 Работа с командным интерфейсом. Пакетные командные файлы



Скачать 94.66 Kb.
Дата13.12.2016
Размер94.66 Kb.
Просмотров170
Скачиваний0
ТипПрактическая работа
Практическая работа №2

Работа с командным интерфейсом. Пакетные командные файлы

Цель работы: Развитие профессиональных навыков работы с пакетными командными файлами.



  1. Определение и назначение командного файла

  2. Команды пакетной обработки

  3. Переменные в командных файлах

Определение и назначение командного файла

Командные (пакетные) файлы - особая категория исполняемых файлов. Командные файлы (скрипты, сценарии, батники) - это обычные текстовые файлы с расширением .bat или .cmd, строки которых представляют собой специальные команды командного процессора (интерпретатора команд ) и/или имена исполняемых файлов.

Для операционных систем DOS и Windows9X в качестве интерпретатора команд использовался командный процессор command.com, для всех остальных ОС семейства Windows ( NT/2k/XP/Vista/7/8 и старше) -cmd.exe. Несмотря на непрерывное совершенствование средств создания и выполнения сценариев с использованием объектно-ориентированных языков, обычная командная строка и простые командные файлы, по-прежнему остаются основным инструментом для выполнения рутинных действий, диагностики сетевых проблем, автоматизации процессов резервного копирования и т.п. При всех недостатках реализации командного процессора в Windows, достойной альтернативы ему нет, и очевидно в ближайшем будущем, не будет. 

Пакетный файл (англ. batch file) — текстовый файл в MS-DOS, OS/2 или Windows, содержащий последовательность команд, предназначенных для исполнения командным интерпретатором. После запуска пакетного файла, программа-интерпретатор (как правило, COMMAND.COM или cmd.exe) читает его строка за строкой и последовательно исполняет команды

Расширение: *.bat (от англ. batch - "пакет", "группа").  Запуск командного файла осуществляется  так же, как запуск исполняемой программы, то есть, указывается имя файла и, если требуется, параметры.

Назначение: BAT-файлы служат  для организации взаимодействия пользователей с прикладными  программами.

Состав: текст,  который интерпретируется командным процессором. Строки этого текста могут представлять собой:


  • внешние или внутренние команды ОС;

  • обращения к исполняемым программам *.COM или *.EXE, и вызовы других командных файлов;

  • команды для управления выдачей на экран, а также для организации ветвлений и циклов;

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

  • Каждая команда находится на отдельной строке.

 2. Команды пакетной обработки.

 а) REM-комментарий в тексте файла. Обычно используют, чтобы временно убрать из текста какую-либо команду. Формат: REM [любая строка]

б) ECHO -вывод на экран сообщений. Формат: ECHO [ON или OFF или Сообщение]

Параметры ON и OFF включают и выключают выдачу на экран системных сообщений ("эха").  Команда  ECHO  OFF используется, чтобы не  "засорять"  экран  при исполнении BAT-файла. Произвольная строка после ECHO  понимается как сообщение и без  изменений  выводится  на  экран.  Пустая  строка обозначается одной точкой.



Примеры:

echo.   - Перейти к следующей строке;

echo Программа  не  найдена!   -  Выдает на экран сообщение "Программа не найдена!".

в) @.  Может быть только первым  символом строки и подавляет ее выдачу на экран.  Используется  только  в пакетном режиме. Пример:

 @echo off - Выключаем "эхо"; из-за символа @ сама команда echo off тоже не выводится  на  экран;  этой  строкой  обычно начинаются командные файлы.

г) PAUSE -  приостанавливает  вывод  на  экран,  выводит сообщение  "Нажмите любую клавишу..." и ждет нажатия любой клавиши.  Параметров не имеет.

д) IF  позволяет  проверять  условие  и  выполнять  ветвление  в  зависимости от результата проверки.

Общий вид команды: IF [NOT] [условие] [действие],  где "действие"  - любая команда,  выполняемая,  если истинно условие. Условие записывается в одной из трех форм,  поэтому команда IF имеет три формата.



Формат 1.  Проверка кода завершения  последней  перед  оператором  IF  команды. Используется конструкция следующего вида:  IF ERRORLEVEL число

Любая программа может  выработать в момент своего окончания собственный код завершения, который доступен  другим  программам  через переменную с именем ERRORLEVEL. Большинство команд и программ при нормальном  завершении устанавливают errorlevel=0. Задав условие if errorlevel 1, Вы  определите,  что  оно  будет выполнено,  если программа вырабатывает код  завершения больший, либо равный 1.



Формат 2. Проверка наличия файла в каталоге. Оператор IF имеет вид: IF EXIST имя файла

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



Формат 3. Сравнение двух строк. Оператор имеет вид:  IF [строка_1]==[строка_2]

Условие выполняется, если строки 1 и 2 совпадают. Чтобы застраховаться от случая,  когда одна из строк оказывается пустой, обе строки заключают в одинаковые символы, например, в квадратные скобки.

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

Примеры:

if exist c:\autoexec.bat type c:\autoexec.bat 

если в головном каталоге диска c: есть файл autoexec.bat, вывести его на экран;

if not exist c:\WORK\*.* echo Нет файлов!

если в каталоге WORK нет ни одного файла, вывести соответствующее сообщение;

format a:

if errorlevel 1 echo Форматирование прошло не безупречно!

если программа format установила errorlevel больше  нуля,сообщить  об ошибке;

if %A%==Yes cls

если переменная с именем A равна строке 'Yes',  очистить экран.

Аналогично команда IF может использоваться из командной строки.



е) GOTO позволяет передавать управление на  заданную метку  Формат команды:  GOTO метка

Метка  начинается со знака : Пример:

if  %A%==Yes goto Clear

goto Not_Clear

:Clear

cls


:Not_Clear

Если переменная A совпадает со строкой Yes,  перейти на метку Clear и очистить экран. В противном случае пропустить очистку экрана.



ж) CALL осуществляет вызов одного командного файла из другого с последующим возвратом в вызывающий файл. Формат команды:  CALL [имя файла]

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

Вызывающий командный файл: (example.bat)

@echo off

echo Файл запущен!

call version

echo Продолжаем!

Вызываемый командный файл: (version.bat)

@echo off

echo Ваша версия операционной системы:



ver

pause


example.bat вызывает version.bat, после выполнения которого вновь получает управление.

Задание №1:

  1. Создайте командный файл Help.bat в фамильной папке (copy con имя файла)

  2. Прокомментируйте каждую строку файл Help.bat (REM)

  3. Предусмотрите в Help.bat следующие действия:

    1. cоздать файл copy.help, содержащий описание команды copy (help copy > copy.txt)

    2. cоздать файл move.help, содержащий описание команды move (help move > move.txt)

    3. вывести содержимое *. txt на экран, ознакомиться со справкой (type copy.help)

    4. cоздать каталог msdos-help (md spravka)

    5. переместить в него файлы copy. txt move.txt (move *.txt spravka)

  4. Отобразить полученные результаты с помощью tree/f

Задание №2:

  1. В корневом каталоге диска D с помощью командной строки создать дерево каталогов cогласно рисунку:

http://it.fitib.altstu.ru/neud/inf/pract/img/11.jpg

  1. Убедиться в полученном результате с помощью tree

  2. В каталоге All с помощью командной строки создать файлы: 1.txt, 2.txt, 3.txt.

  3. Сохраните в файлах следующий текст:

  4. В 1.txt – «Бороться и искать»

  5. В 2.txt – «найти»

  6. В 3.txt – « и … не бороться (((!»

  7. Убедиться в полученном результате с помощью tree/f

  8. Создать пакетный командный файл lesson1.bat в каталоге All, описать следующую последовательность команд и прокомментировать каждую из них с помощью команды REM

  9. Удалить каталог В3, в каталоге А3

  10. Удалить каталог В2 в каталоге А2

  11. Cоздать подкаталоги В4 и В5 в каталоге А1

  12. Скопировать файл 1.txt в каталог А2 и переименовать его в файл 12.txt.

  13. Вывести на экран поочередно информацию, хранящуюся во всех текстовых файлах в каталоге All.

  14. Скопировать все текстовые файлы из каталога All в каталог С2.

  15. Объединить все текстовые файлы, хранящиеся в каталоге С2, в файл man.txt и вывести его содержимое на экран.( copy 1.txt+2.txt+3.txt man.txt – обьединение)

  16. Вывести на экран дерево каталогов каталога All с файлами.

Результат выполнения Результат выполнения задания:
заданий №1-9:




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

1) переменная,  определяемая в цикле. Ее имя состоит символа процента (в старых версиях DOS/Windows - двух символов) и последующих букв,  например, %A. Набор значений, которые последовательно принимает такая переменная,  задается при ее определении в команде for (см. ниже).

2) переменная окружения. Она определяется  внутренней командой DOS вида

SET [имя]=[значение], где имя и значение - произвольные строки,  и в течение  всего  сеанса работы хранится в специальной области памяти,  называемой "системным окружением".  Системное окружение  управляется  командным  интерпретатором command.com.  Чтобы  использовать переменную окружения в командном файле нужно ее имя заключить в символы процента %, например, командами

set weekday=sunday

echo %weekday%



переменной с  именем weekday присваивают значение sunday и выводят ее значение на экран командой ECHO.  Для просмотра окружения можно использовать команду SET без параметров.

Переменная окружения (переменная среды́, англ. environment variable) в Windows используются для хранения текстовых строк пользователя и информации о настройках операционных систем

Задание № 3:

  1. Используя команду SET из окна командной строки выяснить значения переменных среды заданы в системе.

  2. Выведите в файл lab1.txt значения переменных окружения (например:SET APPDATA >lab1.txt)

  3. Заполните таблицу их значениями:


    Название переменные среды

    Значение

    Результат

    APPDATA

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




    CD

    Идентична команде CD без аргументов.




    COMPUTERNAME

    Имя компьютера




    DATE

    Возвращает текущую дату. Использует тот же формат, что и команда date /t. Создаётся командой Cmd.exe.




    HOMEDRIVE

    Возвращает имя диска локальной рабочей станции, связанного с основным каталогом пользователя. Задаётся на основании расположения основного каталога. Основной каталог пользователя указывается в оснастке «Локальные пользователи и группы».




    HOMEPATH

    Возвращает полный путь к основному каталогу пользователя. Задаётся на основании расположения основного каталога.




    LOCALAPPDATA

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




    NUMBER_OF_PROCESSORS

    Количество процессоров в системе (фактически, количество ядер).




    OS

    Название операционной системы. Windows XP и Windows 2000 отображаются как Windows_NT.




    PATHEXT

    Возвращает список расширений файлов, которые рассматриваются операционной системой как исполняемые.




    PROCESSOR_LEVEL

    Номер модели процессора.




    PROGRAMFILES

    Путь к каталогу Program Files.




    SYSTEMDRIVE

    Диск, на котором расположен корневой каталог Windows.




    SYSTEMROOT

    Путь к корневому каталогу Windows.




    TIME

    Возвращает текущее время. Использует тот же формат, что и команда time /t. Создаётся командой Cmd.exe. Дополнительные сведения о команде time см. в разделе Time.




    USERDOMAIN

    Имя домена, которому принадлежит текущий пользователь.




    USERNAME

    Имя текущего пользователя.




    WINDIR

    Каталог, в котором установлена Windows.




  4. Выведите экран значения переменных окружения TIME, WINDIR, USERDOMAIN с помощью команды echo (чтобы получить значение переменной в командных файлах, используют ее имя, заключенное в знаки процента %)

  5. В отчете приведите примеры набранных вами команд.


Поделитесь с Вашими друзьями:


База данных защищена авторским правом ©nethash.ru 2017
обратиться к администрации

войти | регистрация
    Главная страница


загрузить материал