Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология
Образование Политология Производство Психология Стандартизация Технологии


Командный файл с параметрами



 

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

 

MOVETXT F: \NEWS

 

Для обработки параметров командных файлов используется следующее соглашение: первый параметр обозначается %1, второй - %2 и т.д. до %9. Имя команды также рассматривается как параметр с номером %0. Эти параметры можно использовать как часть текста команд, содержащихся в командном файле. При интерпретации командного файла вместо параметров подставляются их конкретные значения. Командный файл, реализующий приведенную выше команду должен иметь вид:

COPY *.TXT %1

DEL *.TXT

 

При интерпретации данного командного файла в соответствии с приведенным выше вызовом вместо параметра %1 будет подставлено значение F: \NEWS.

 

Командный файл с проверкой условий

 

Добавленный нами в предыдущем примере параметр является обязательным. Мы не можем теперь ввести команду MOVETXT без параметров, чтобы скопировать тексты в F: \COMMON. Хотелось бы вернуть это полезное свойство. Очевидно, что без проверки, задан ли параметр, нам не обойтись. Для проверки условий в командных файлах используется команда:

 

IF [NOT] условие команда

 

" Условие" может быть задано в одной из следующих форм:

 

строка1 == строка2 - истинно, если строка1 равна строке2 и ложно в противном случае;

 

1. EXIST спецификация файла - истинно, если существует файл или файлы, соответствующие спецификации и ложно в противном случае;

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

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

4. Команда - это любая допустимая команда.

5. Текст командного файла MOVETXT.BAT, допускающего отсутствие параметра будет иметь вид:

 

IF -%1 == - COPY *.TXT F: \COMMON

IF NOT -%1 == - COPY *.TXT %1

DEL *.TXT

 

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

 

GOTO метка

 

Метка должна быть определена в отдельной строке командного файла, начинающейся с двоеточия, например: MOVE.

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

 

1. ECHO ON - включает вывод стандартных сообщений команд ДОС;

2. ECHO OFF - отключает вывод стандартных сообщений (в командных файлах обычно используют формат

3. @ECHO OFF - тогда подавляется и вывод сообщения о выполнении данной команды);

4. ECHO сообщение - выводит сообщение, указанное в команде.

 

Приведем командный файл, проверяющий наличие пересылаемых файлов.

 

IF EXIST *.TXT GOTO MOVE

echo Файлы не найдены!

GOTO EXIT

MOVE

IF -%1 == - COPY *.TXT F: \COMMON

IF NOT -%1 == - COPY *.TXT %1

DEL *.TXT

EXIT

 

Диалоговые командные файлы

 

Разработчики MS DOS даже не думали о диалоговых командных файлах, что следует из дословного перевода их термина " пакетный файл". Но пользователи устранили этот пробел. В состав нортоновских утилит входит простенькая программа ASK, которую может написать любой начинающий программист. Вызов этой программы имеет вид:

ASK " сообщение", список символов

Утилита выводит сообщение, и после нажатия клавиши с одним из указанных в списке символов завершает работу. При этом она формирует код завершения, равный порядковому номеру символа в списке. Символы в списке нумеруются с 1.

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

IF EXIST *.TXT GOTO MOVE

echo Файлы не найдены!

GOTO EXIT

MOVE

IF -%1 == - COPY *.TXT F: \COMMON

IF NOT -%1 == - COPY *.TXT %1

ASK " Удалить файлы[y, n]" , yn

IF ERRORLEVEL 2 GOTO EXIT

DEL *.TXT

: EXIT

 

Надо сказать, что в последних версиях MS DOS появилась утилита, аналогичная ASK. Это утилита CHOICE.

 

Командные файлы, использующие переменные окружения

 

Часть системной информации ДОС хранится в виде переменных окружения. Переменная окружения имеет имя и символьное значение. Например, информация о путях доступа для поиска исполняемых файлов хранится как переменная с именем PATH. Значение этой переменной устанавливается равным операнду соответствующей команды PATH.

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

Рассмотрим пример командного файла ADDPATH.BAT, в котором к значению системной переменной PATH добавляются дополнительные пути доступа. Текст этого командного файла состоит из единственной команды:

 

PATH %PATH%; %1

 

Имя переменной окружения PATH ограничено знаками процента. При выполнении записанной выше команды PATH вместо %PATH% подставляется значение переменной PATH и к этому значению присоединяется точка с запятой и значение первого параметра командного файла ADDPATH.

 

Командный файл, вызывающий другие командные файлы

 

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

Формат вызова с возвратом: CALL имя вызываемого командного файла

Передача управления в другой командный файл: имя вызываемого командного файла

Например, можно вызвать дважды командный файл MOVETXT.BAT из другого командного файла DBLMOVE.BAT для пересылки текстов из двух разных каталогов:

CD \TXT1

CALL MOVETXT

CD \TXT2

CALL MOVETXT

 

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

 

Программы-утилиты.

 

ВОПРОСЫ:

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

 

 

Термин " utility" можно перевести как " обслуживающая программа", но можно и не переводить. Утилитами называют программы, выполняющие функции обслуживания аппаратных и информационных ресурсов системной среды, а также любые другие полезные для работы в системной среде функции. Исчерпывающий список функций утилит привести невозможно. Отметим лишь некоторые:

1. Тестирование и диагностика оборудования ЭВМ (CheckIt).

2. Оценка производительности ЭВМ.

3. Получение детальной информации о конфигурации ЭВМ и операционной системы.

4. Установка, изменение или оптимизация конфигурации ДОС (MemMaker).

5. Подготовка устройств внешней памяти к работе (Format).

6. Восстановление носителей данных (Norton Disk Doctor, MS Scan Disk).

7. Упаковка, резервное копирование и восстановление информации, хранимой в файловой системе (Backup, Restore, архиваторы).

8. Оптимизация физической организации файловой системы (Speed Disk, MS Defragmentator).

9. Поиск информации (Find, FileFind).

10. Борьба с компьютерными вирусами.

11. Защита от несанкционированного доступа (Password, Wipe Information).

 

В ДОС к утилитам можно отнести все программы, которые реализуют так называемые внешние команды. В ДОС команды классифицируются на внутренние и внешние. Внутренние команды выполняются интерпретатором команд ДОС COMMAND.COM, который всегда запускается после загрузки операционной системы. Внутренние команды поэтому всегда доступны пользователю. Внешние команды выполняются автономными программами и доступны пользователь при следующих условии, что в команде PATH задан путь доступа в каталог, где хранится соответствующая программа. Кроме утилит MS DOS существуют пакеты утилит других разработчиков. Наиболее известным является пакет Norton Utility.

 

Программы-оболочки

 

ВОПРОСЫ:

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

 

Третья часть указанной книги содержит практически весь необходимый материал по данной теме. Наряду с рукописным конспектом ее следует использовать для подготовки к экзамену.

 

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

В чем состоят дополнительные удобства, предоставляемые программами-оболочками?

1. При работе с командной строкой ДОС пользователь вынужден, как шахматист, держать в голове текущее состояние системной среды, совершая практически вслепую " ходы" с помощью команд ДОС, которые к тому же сообщают довольно скудную информацию о результатах своей работы. Программы-оболочки обеспечивает наглядное представление состояния системной среды с разной степенью детализации. Можно получить информацию об устройстве; о каталогах на устройстве; о файлах, содержащихся в каталогах; посмотреть сами файлы. Принципиально изменяется способ представления информации, которая в программах-оболочках выводится в панелях или окнах стандартной формы вместо убегающего с экрана потока. Таким образом, пользователь освобождается от необходимости держать в голове текущее состояние системной среды – все видно на экране, а если не видно, то легко можно найти.

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

В настоящее время для ДОС разработано довольно большое число программ-оболочек. Даже разработчики MS DOS включили в состав MS DOS свою программу-оболочку DOSSHELL. В нашей стране наиболее популярной является программа-оболочка Norton Commander. В данной программе реализован ряд идей, о которых следует сказать особо.

1. Операции, определяемые расширением файла. В NC есть возможность, установив курсор на файл и нажав клавишу Enter, инициализировать стандартную операцию для файлов с соответствующим расширением. Например, исполняемый файл в этом случае запускается на выполнение. Для текстового файла может быть вызван текстовый редактор и т.д. Пользователь сам может определить операции для разных расширений файлов.

2. Возможность работы с командной строкой ДОС. Это необходимо для выполнения функций, не поддерживаемых оболочкой. NC почти полностью " прозрачен" для команд ДОС. Оболочка называется прозрачной для команд ДОС, если она не искажает результаты работы команд. NC ведет список выполненных команд ДОС. Список выполненных команд можно просматривать, выбирая из него команды для повторного выполнения. Наиболее часто используемые команды можно включить в меню пользователя.

3. Большое число программ-вьюеров, используемых для просмотра файлов разного типа. NC сам подбирает вьюер, анализируя информацию, содержащуюся в файле. Иногда он ошибается, тогда пользователь сам должен выбрать вьюер. Это еще один пример операции, определяемой от объекта и обладающей свойством полиморфизма.

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

5. Разнообразные возможности поиска информации. Файл или каталог можно найти по имени, по шаблону или по содержанию.

 


Поделиться:



Популярное:

Последнее изменение этой страницы: 2016-04-11; Просмотров: 2159; Нарушение авторского права страницы


lektsia.com 2007 - 2024 год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! (0.046 с.)
Главная | Случайная страница | Обратная связь