Лабораторная работа 3 Тема : Работа с командной строкой. Сетевая активность. Пакетные файлы



бет9/10
Дата21.05.2024
өлшемі0.72 Mb.
#501673
түріЛабораторная работа
1   2   3   4   5   6   7   8   9   10
Лаб. №3

Пример 4.
Допустим, в общедоступном каталоге имеется про­грамма NOTES.EXE, реализующая работу с картотекой/записной книжкой. Такую программу пользователь должен запускать с разными параметрами — именами картотек, которые находятся в разных ката­логах:
— картотека TELEF в каталоге TEL,
— картотека PAPERS в каталоге PAPERS,
— картотека PERSON в каталоге ADMIN.
При обычном способе запуска пользователю пришлось бы набирать каждый раз по две команды с длинными именами, например:
cd \tel
notes telef
Можно создать в общедоступном каталоге командный файл, ко­торый позволит осуществлять необходимые вызовы с использованием простых однобуквенных мнемонических имен. Такой командный файл с именем N.BAT может иметь вид (выделение меток большими буквами здесь сделано лишь для наглядности):
echo off
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 \admln
notes person
:ехit
Обращение к указанному файлу при вызове разных картотек должно иметь вид:
n= t или n= р или n= s
При этом буквы t, p, s должны быть малыми, поскольку именно в таком виде они заданы в условиях операторов IF.
Отсутствие букв t, p или s-при вызове этого файла приведет к переходу на метку exit.
Команда FOR.
Обеспечивает циклическое выполнение команд ДОС. При этом можно задать формальный параметр и список фактических параметров (обычно—имен файлов), которые последовательно подставляются вместо формального параметра в текст исполняемой ко­манды.
Пример 5.
Пусть имеется необходимость систематически ко­пировать файлы PROQ.PAS, PROG.OBJ и PROG.EXE из рабочего каталога на виртуальный диск D:. С этой целью можно в соответствую­щем командном файле дать команду:
for %%A in (PAS OBJ EXE) do copy PROG.%%A d:
Здесь формальный параметр %%А последовательно сопоставляется со списком фактических параметров в круглых скобках и использу­ется в команде COPY, которая в данном случае сработает 3 раза подряд.
Подставив в качестве второго аргумента команды COPY вместо имени D: еще один формальный параметр %1, можно будет менять назначение копирования, задавая его с терминала.
Команда SHIFT.
Вызывает сдвиг списка формальных параметров относительно списка фактических параметров. Так, если в командном файле фигурируют формальные параметры %1 и %2, а в обращении к командному файлу — фактические параметры А, В, С, D, то сначала соответствие формальных и фактических параметров выглядит следую­щим образом:
%1=А %2=В Однократное применения команды SHIFT дает следующее соответствие:
%1=В %2=С Двукратное применение вызывает дальнейший сдвиг:
%1=С %2=D
Пример 6.
Пусть стоит задача, обратная той, которая рас­смотрена в примере 5; а именно, — нужно копировать на виртуальный диск D: файлы, имена которых пользователь будет вводить с терми­нала Эту задачу позволит решить командный файл следующего вида;
echo off
:loop
сору % 1 d:
shift
goto loop
Если дать этому файлу имя D.BAT и вызвать его с произвольным числом аргументов:
d f.l f.2 f.3 f.4 f.5 то будет происходить последовательное присваивание формальному параметру % 1 значений F.I, F.2, F.3, F.4, F.5 и циклическое исполнение команд COPY и SHIFT. После исчерпания фактических параметров команда COPY выдаст сообщение об ошибке, поскольку ее первый ар­гумент будет отсутствовать. В этот момент пользователь сможет пре­рвать работу командного файла, нажав клавиши Ctrl и С.



Достарыңызбен бөлісу:
1   2   3   4   5   6   7   8   9   10




©dereksiz.org 2024
әкімшілігінің қараңыз

    Басты бет