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

Если из командного файла вызвать другой командный файл, вставив в него имя этого командного файла с необходимыми параметрами, то после завершения вызванного файла возврата управления в исходный командный файл не произойдет. Если же такой возврат необходим, следует использовать команду Сall. Формат команды:

Сall имя-командного-файла (параметры)

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

Замечание. В команде Call не допускается перенаправление ввода-вывода (т.е. использования символов ‘<’, ‘>’ и ‘|’).

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

Общие сведения

Часто приходится выполнять одни и те же команды или последовательности команд MS-DOS с весьма небольшими отличиями. Например, для трансляции программы на Фортране с помощью транслятора фирмы Microsoft надо набирать команды типа:

fl /4I2 /AL /Ox /PP187 /с имя - файла

Чтобы упростить вызов транслятора, можно создать файл Fort.bat следующего содержания:

fl /4I2 /AL /Ox /PP187 /с %1

Здесь символическое имя %1 означает первый параметр, указанный при вызове пакетного файла. Например, если ввести команду ‘Fort Simpson.for’, тогда вместо %1 будет подставлено ‘Simpson.for’ и тем самым будет выполнена команда:

fl /4I2 /AL /Ox /PP187 /с Simpson.for

Символические имена параметров командного файла

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

Символическое имя %0. В командном файле можно использовать также символическое имя %0, в котором изначально хранится имя выполняемого командного файла (в той форме, в которой оно указано в команде, вызвавшей данный командный файл).

Использование символа %. Если в командном файле знак процента используется не для обозначения параметров, а для других целей, то его надо набрать дважды. Так, чтобы в командном файле указать файл ‘xyz%.com’, надо написать в нем строку ‘xyz%%.com’.

Команда Shift

Иногда в командном файле требуется применить более девяти параметров, либо выполнить одинаковую обработку для всех параметров командного файла. В этих случаях следует использовать команду Shift. Если она встречается в командном файле, тогда символические имена его параметров приобретают новые значения: в %0 попадет прежнее значение из %1, в %1 – прежнее значение из %2 и т.д. В %9 будет помещено значение десятого параметра из командной строки, а если он не задан, тогда новое значение %9 - пустая строка. Команду Shift можно использовать несколько раз.

Пример. Пусть командный файл ‘Dummi.bat’ вызван следующей командной строкой:

Dummi а bb сcc

Тогда %0 = ‘Dummi’, %1 = ‘а’, %2 = ‘bb’, %3 = ‘ccc’, а параметры с %4 по %9 содержат пустые строки. После однократного выполнения команды Shift имеем: %0 = ‘а’, %1 = ‘bb’, %2 = ‘ccc’, а параметры с %3 по %9 содержат пустые строки.

4. Переменные среды MS-DOS и работа с ними в командных файлах

Общие сведения

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

имя-переменной = значение,

Здесь имя-переменной - это строка символов, без знаков равенства и пробелов, а значение – любая строка символов.

Дата: 2019-12-10, просмотров: 239.