Если из командного файла вызвать другой командный файл, вставив в него имя этого командного файла с необходимыми параметрами, то после завершения вызванного файла возврата управления в исходный командный файл не произойдет. Если же такой возврат необходим, следует использовать команду С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, просмотров: 236.