Студопедия — Развитые командные файлы
Студопедия Главная Случайная страница Обратная связь

Разделы: Автомобили Астрономия Биология География Дом и сад Другие языки Другое Информатика История Культура Литература Логика Математика Медицина Металлургия Механика Образование Охрана труда Педагогика Политика Право Психология Религия Риторика Социология Спорт Строительство Технология Туризм Физика Философия Финансы Химия Черчение Экология Экономика Электроника

Развитые командные файлы






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

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

Например, пусть командный файл C.BAT имеет вид[13]:

:M1

COPY %1 PRN

PAUSE

GOTO M1

Здесь первая строка содержит метку :М1, а последняя – команду перехода к этой метке. Сам командный файл решает задачу печати (команда COPY %1 PRN) произвольного файла, полное имя которого задано в виде формального параметра. Команда PAUSE приостанавливает исполнение командного файла, которое может возобновиться при нажатии пользователем клавиши Enter. Чтобы прервать исполнение данного файла, следует ввести команду Ctrl+C.

Пусть файл C.BAT запускается командой

C.BAT A:\MY.TXT

Это означает, что начнется вывод на принтер содержимого файла MY.TXT, находящегося в корневом каталоге дискеты (A:\). Поскольку действие по выводу зациклено, печать этого файла будет выполняться сколь угодное число раз.

2. Команда IF позволяет проверять условие и выполнять команду в зависимости от результата проверки. В качестве условия может, в частности, использоваться:

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

IF EXIST <имя файла или полное имя файла>

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

IF %<N>==<текстовая строка>

Здесь значение формального параметра %1<N> сопоставляется с конкретной строкой. При абсолютном совпадении двух строк условие считается выполненным.

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

Например, пусть в общедоступном каталоге есть некоторая прикладная программа с именем NOTES.EXE, которая выполняет работу с картотекой (файл TELEF в каталоге TEL), записной книжкой (файл PAPERS в каталоге PAPERS) или адресной книжкой (файл PERSON в каталоге ADMIN). Пользователю требуется периодически вызывать программу NOTES.EXE, задавая каждый раз имена файлов и каталогов для просмотра нужной информации. Для сокращения работы целесообразно создать командный файл, например, с именем N.BAT, при запуске которого одним символом указывается лишь, к просмотру какой информации следует перейти. Формат этого файла:

IF %1. ==. GOTO EXIT

IF %1 ==t GOTO TEL

IF %1 ==p GOTO PAP

IF %1 ==s GOTO PERS

GOTO EXIT

:TEL

CD \TEL

NOTES TELEF

GOTO EXIT

:PAP

CD \PAPERS

NOTES PAPERS

GOTO EXIT

:PERS

CD \ADMIN

NOTES PERSON

:EXIT

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

3. Команда FOR обеспечивает циклическое выполнение команд MS DOS. При этом можно задать параметр цикла и список параметров, которые последовательно подставляются вместо параметра цикла в текст исполняемой команды. Формат команды:

FOR %%<латинская буква> IN (<множество параметров>) DO <команда MS DOS>

Здесь %%<латинская буква> - обозначение параметра цикла (по аналогии с языками программирования), например, %%A или %%X; <множество параметров>;- перечисленные через пробел фактические или формальные параметры. При выполнении команды FOR параметр цикла принимает последовательные значения из множества значений, заданных в скобках, и с каждым значением выполняется <команда MS DOS>;.

Например, если необходимо последовательно выводить на печать несколько файлов, имена которых известны заранее (пусть это файлы ABC.TXT, DFG.TXT, RTY.TXT), которые находятся в текущем каталоге, то в командном файле целесообразно поместить команду:

FOR %%А IN (ABC.TXT DFG.TXT RTY.TXT) DO COPY %%А PRN

Если же имена файлов неизвестны, но известно, что их не более девяти, то команда примет вид:

FOR %%А IN (%1 %2 %3 %4 %5 %6 %7 %8 %9) DO COPY %%А PRN

При запуске командного файла вводятся нужные имена, которые присваиваются формальным параметрам из списка %1 - %9. Если файлов меньше девяти, ошибки не происходит.

4. Команда SHIFT вызывает сдвиг списка формальных параметров относительно списка фактических параметров. Так, если в командном файле фигурируют формальные параметры %1 и %2, а при запуске командного файла – фактические параметры A, B, C, D, то сначала соответствие формальных и фактических параметров выглядит следующим образом: %1 = A, %2 = B. Однократное применение команды SHIFT дает следующее соответствие: %1 = B, %2 = C. Двукратное применение вызывает дальнейший сдвиг: %1 = C, %2 = D.

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

:LOOP

COPY %1 PRN

SHIFT

GOTO LOOP

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

Q.BAT f1 f2 f3 f4

то будет происходить последовательное присваивание формальному параметру %1 значений из списка имен файлов и циклическое исполнение команд SHIFT и COPY. После окончания списка параметров возникнет ошибочная ситуация. Тогда пользователь может прервать исполнение файла клавишами Ctrl+C.







Дата добавления: 2015-10-15; просмотров: 433. Нарушение авторских прав; Мы поможем в написании вашей работы!



Шрифт зодчего Шрифт зодчего состоит из прописных (заглавных), строчных букв и цифр...

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

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

Функция спроса населения на данный товар Функция спроса населения на данный товар: Qd=7-Р. Функция предложения: Qs= -5+2Р,где...

Сущность, виды и функции маркетинга персонала Перснал-маркетинг является новым понятием. В мировой практике маркетинга и управления персоналом он выделился в отдельное направление лишь в начале 90-х гг.XX века...

Разработка товарной и ценовой стратегии фирмы на российском рынке хлебопродуктов В начале 1994 г. английская фирма МОНО совместно с бельгийской ПЮРАТОС приняла решение о начале совместного проекта на российском рынке. Эти фирмы ведут деятельность в сопредельных сферах производства хлебопродуктов. МОНО – крупнейший в Великобритании...

ОПРЕДЕЛЕНИЕ ЦЕНТРА ТЯЖЕСТИ ПЛОСКОЙ ФИГУРЫ Сила, с которой тело притягивается к Земле, называется силой тяжести...

Ситуация 26. ПРОВЕРЕНО МИНЗДРАВОМ   Станислав Свердлов закончил российско-американский факультет менеджмента Томского государственного университета...

Различия в философии античности, средневековья и Возрождения ♦Венцом античной философии было: Единое Благо, Мировой Ум, Мировая Душа, Космос...

Характерные черты немецкой классической философии 1. Особое понимание роли философии в истории человечества, в развитии мировой культуры. Классические немецкие философы полагали, что философия призвана быть критической совестью культуры, «душой» культуры. 2. Исследовались не только человеческая...

Studopedia.info - Студопедия - 2014-2024 год . (0.011 сек.) русская версия | украинская версия