ЭЛЕКТРОННАЯ БИБЛИОТЕКА КОАПП |
Сборники Художественной, Технической, Справочной, Английской, Нормативной, Исторической, и др. литературы. |
Часть 9
ПРИЛОЖЕНИЕ A: КОМАНДЫ СЦЕНАРИЯ ВХОДА В СИСТЕМУ ____________________________________________________________ Сценарии используются для задания пользовательской среды. Каждый раз, когда с файлового сервера пользоватедь входит в сеть, последовательно выполняются команды, записанные в сценарии входа в систему. ОС NetWare использует два вида сценариев входа в систему: сценарий входа в систему, действующий по всей системе (на который ниже ссылаются как на системный сценарий входа в систему), и пользовательские сценарии входа в систему. Системный сценарий входа в систему позволяет администратору сети установить отображения сетевых накопителей и отображе- ния накопителей поиска для всех пользователей; он включает команды, которые следовало бы выполнить каждому пользовате- лю или определенной группе пользователей. Пользовательский сценарий входа в систему, который выполня- ется после системного сценария входа в систему, определяет пользовательские отображения накопителей и параметры среды. Для обеспечения безопасности каждому пользователю следует иметь сценарий входа в систему, хотя бы минимальный. Группа пользователей с именем EVERYONE имеет право Create (Созда- вать) в каталоге SYS:MAIL, где хранятся пользовательские сценарии входа в систему. Если вы не создаете пользова- тельские сценарии входа в систему, любой пользователь, по- лучивший доступ к файловому серверу (включая пользователя GUEST), смог бы создать сценарий входа в систему в подката- логе с пользовательским идентификатором ID. Если пользовательского сценария входа в систему не сущест- вует, будет выполнен сценарий входа в систему принятый по умолчанию. Это тот самый сценарий входа в систему, который вы видите, когда первый раз входите в сеть с файлового сер- вера как пользователь SUPERVISOR. WRITE "GOOD %GREETING_TIME, %LOGIN_NAME." MAP DISPLAY OFF MAP ERRORS OFF Rem: Установите 1-й накопитель на наиболее rem подходящий для вас каталог MAP *1:=SYS:;*1:=SYS:%LOGIN_NAME If "%1"="SUPERVISOR" THEN MAP *1:=SYS:SYSTEM Rem: Установите накопители поиска (S2, зависящий от rem машины и операционной системы). MAP INS S1:=SYS:PUBLIC MAP INS S2:=S1:%MACHINE/%OS/%OS_VERSION Rem: Отобразите сейчас все текущие установки rem накопителей MAP DISPLAY ON MAP Используйте сценарий входа в систему, принятый по умолча- нию, только временно. Сценарий входа в систему, принятый по умолчанию, включен в файл LOGIN.EXE в каталог SYS:LOGIN и не может быть отредактирован. Создавайте системный сценарий входа в систему, прежде чем вы создаете пользовательские сценарии входа в систему. Ког- да планируете создание сценариев входа в систему, включите в системный сценарий входа в систему все, что только можно. Чем более полным будет системный сценарий входа в систему, тем короче может быть сценарий входа в систему пользователя. Если вы имеете доступ к окошку пользовательского сценария входа в систему в утилите SYSCON и устанавливаете там про- бел, то система посчитает, что существует пользовательский сценарий входа в систему и отказывает пользователю в полу- чении доступа к сценарию входа в систему принятому по умол- чанию. Если вы хотите выполнять системный сценарий входа в систему и не хотите создавать сценарии входа в систему для каждого пользователя, выполните одно из следующих двух действий. * Поместите команду EXIT в конец системного сценария входа в систему. В этом случае сценарий входа в систему выпол- няется до конца, прежде чем проверяется пользовательский сценарий входа в систему. Ни один пользовательский сцена- рий входа в систему не может быть выполнен. * Используйте опцию выбора сценария входа в систему команды LOGIN. Эта опция будет выполнять файл, содержащий дейс- твительные команды. Она не будет использовать системный, пользовательский или принятый по умолчанию сценарии входа в систему. Так как сценарий входа в систему подключается перед выполнением опции выбора сценария входа, этот файл может быть размещен в сети. Следующая команда для боль- шинства пользователей будет выполнять только системный сценарий входа в систему: LOGIN /S SYS:PUBLIC\NET$LOG.DAT Остальным пользователям следует исключить опцию выбора сценария входа /s и иметь свой собственный сценарий входа в систему. Более подробную информацию и примеры смотрите в разделе Login scripts в документе "Основные понятия ОС NetWare" (NetWare 386 Concepts) и в приведенном выше разделе "Плани- рование сценариев входа в систему". В сценарии входа в систему могут быть использованы следующие команды: # (Выполняется в действительных программах DOS или ОС NetWare) ATTACH BREAK COMSPEC DISPLAY DOS BREAK DOS SET DRIVE EXIT FDISPLAY FIRE PHASERS GOTO IF ... THEN ... ELSE INCLUDE MACHINE MAP PAUSE PCCOMPATIBLE REMARK SHIFT WRITE Следующие идентификаторные переменные могут быть использо- ваны в командах сценария, таких как IF ... THEN, MAP, или WRITE. +---------------------------------------------------------+ | Идентификаторные | Изображение на экране | | переменные | | |---------------------------------------------------------| | УСЛОВНЫЕ | |---------------------------------------------------------| | | | | ACCESS_SERVER | Возвращает TRUE (истина),если| | | сервер доступа функционирует,| | | в противном случае - FALSE | | |(ложь) | |--------------------------+------------------------------| | ERROR_LEVEL | Номер ошибки, 0=нет ошибки | |--------------------------+------------------------------| | MEMBER OF "group" | Возвращается TRUE, если член | | | группы, в противном случае | | | - FALSE | |--------------------------+------------------------------| | ДАТА | |--------------------------+------------------------------| | DAY | Номер дня (01 - 31) | |--------------------------+------------------------------| | DAY_OF_WEEK | День недели (Monday - | | | понедельник, | | | (Tuesday - вторник и т.д.) | |--------------------------+------------------------------| | MONTH | Номер месяца (01 - 12) | |--------------------------+------------------------------| | MONTH_NAME | Имя месяца (January - | | | январь, June - июнь и т.д.)| |--------------------------|------------------------------| | NDAY_OF_WEEK | Номер дня недели (1 - 7, | | | воскресенье=1) | |--------------------------|------------------------------| | SHORT_YEAR | Год в сокращенном формате | | | (88, 89,...) | |--------------------------|------------------------------| | YEAR | Год в полном формате | | | (1988,1989) | |--------------------------+------------------------------| | СРЕДА DOS | |--------------------------+------------------------------| | < > | Используется любой перемен-| | | ной среды DOS как строка | |--------------------------+------------------------------| | СЕТЬ | |--------------------------+------------------------------| | NETWORK_ADRESS | Сетевой номер кабельной | | | системы | | | (8 шестнадцатиричных цифр) | |--------------------------+------------------------------| | FILE_SERVER | Имя файлового сервера | |--------------------------+------------------------------| | ВРЕМЯ | |--------------------------+------------------------------| | AM_PM | День или ночь (до полудня | | | или после полудня) | |--------------------------+------------------------------| | GREETING_TIME | Утро, день или вечер | |--------------------------+------------------------------| | HOUR | Час дня или ночи (1 - 12) | |--------------------------+------------------------------| | HOUR24 | Час (00 - 23, полночь = 00)| |--------------------------+------------------------------| | MINUTE | Минута (00 - 59) | |--------------------------+------------------------------| | SECOND | Секунда (00 - 59) | |--------------------------+------------------------------| | ПОЛЬЗОВАТЕЛИ | |--------------------------+------------------------------| | FULL_NAME | Полное имя пользователя (из| | | файла SYSCON) | |--------------------------+------------------------------| | LOGIN_NAME | Уникальное имя входа в | | | систему пользователя | |--------------------------+------------------------------| | USER_ID | Номер, назначенный для | | | каждого пользователя | |--------------------------+------------------------------| | РАБОЧАЯ СТАНЦИЯ | |--------------------------+------------------------------| | MACHINE | Машина, для которой была | | | написана оболочка, напр., | | | IBM PC | |--------------------------+------------------------------| | OS | Операционная система рабочей | | | станции, напр., MS DOS | |--------------------------+------------------------------| | OS_VERSION | Версия DOS на рабочей станции| |--------------------------+------------------------------| | P_STATION | Адрес станции или адрес узла | | | (12 шестнадцатиричных цифр | |--------------------------+------------------------------| | SMACHIINE | Сокращенное название машины, | | | напр., IBM | |--------------------------+------------------------------| | STATION | Номер соединения | +---------------------------------------------------------+ В этом разделе представляется каждая команда сценария входа в систему. Их описание помещается в алфавитном порядке. При создании сценариев входа в систему применяются несколько соглашений. * Длина команды не должна превышать 150 символов. * Длинные команды разрешается продолжать на следующей стро- ке, если на одной строке недостаточно места. * На каждой строке может быть введена только одна команда. Командный интерпретатор читает сценарий по одной строке. Нажимайтев конце каждой команды. * Команды могут быть введены или прописными, или строчными буквами. Идентификаторные переменные, заключенные в ка- вычки, набираются прописными буквами, им должен предшест- вовать знак процента (%). * Комментарии могут быть включены после большинства команд, за исключением команд ATTACH, COMSPEC, DISPLAY, FDISPLAY, DOS SET, EXIT, MACHINE, MAP, WRITE. Любой текст рассмат- ривается как комментарий, если он придвинут к левой гра- нице и ему предшествует звездочка (*) или точка с запятой (;). * C любой командой, использующей параметр пока значение, возвращенное переменной попадает в ожидаемые этой коман- дой пределы используйте все переменные, за исключением условных переменных (conditional). Условные переменные используйте только с командой IF...THEN. Инструкции по получению доступа во внутреннее окошко для сценария входа в систему смотрите в описании утилиты SYSCON в "Справочнике по утилитам ОС NetWare 386" (NetWare 386 Utilities Reference). #(ВЫПОЛНЯЕТ ДЕЙСТВИТЕЛЬНУЮ ПРОГРАММУ DOS ИЛИ ОС NetWare) ________________________________________________________________ Используйте EXTERNAL PROGRAM EXECUTION (# - выполнение внешней программы), чтобы выполнить команду, которая явля- ется внешней по отношению к сценарию входа в систему. Формат команды # [path] filename parameter line Замените path на полный путь к каталогу, начиная с буквы накопителя DOS или имени тома ОС NetWare. Замените filename на выполняемый файл (с расширением .EXE или .COM), не указывая расширение. Замените parameter на любые параметры, которые должны соп- ровождать выполняемый файл. Как использовать # Если вам нужна утилита LOGIN, чтобы выполнить команду, ко- торая является внешней по отношению к сценарию входа в систему, введите эту команду в сценарий. _____________________________________________________ Примечание: Вы можете выполнить пакетные файлы, набрав команду похожую на следующую: #COMMAND /c BATCH.BAT ____________________________________________________ Применяются следующие ограничения: * Командное предложение должно появляться на своей собственной строке. * Первым символом в строке сценария должен быть знак фунта стерлингов (#). * Команда должна появляться после команды MAP, так как программа будет выполняться в среде отображенных накопи- телей, накопителей, принятых по умолчанию, и накопителей поиска, предварительно установленных в сценарии входа в систему. . Выполнение этой командной функции окончится с ошибкой, если данный каталог недействительный, если собственные права по безопасности недостаточны, если выполняемый файл не может быть найден или если недостаточно памяти на рабочей стан- ции, чтобы загрузить выполняемый файл. Сценарий входа в систему сохраняется в памяти, когда выпол- няется команда #. Сценарий входа в систему не удаляется из памяти до тех пор, пока вы не вернетесь в сценарий и не за- вершите его или пока вы не выйдите из сценария. Примеры Предположим, что пользователь Chris хочет использовать ко- манду CAPTURE, чтобы установить принтер на сервере "Bottleneck" на очередь на печать "Mary_HP" для приложения, не предназначенного для распечатывания в сети. Она также хочет, чтобы было возможно следующее: печатать не выходя из программы, печатать без прогона формы и без заголовков. Ей следует включить следующие команды в ее сценарий входа в систему: #CAPTURE S=bottleneck Q=mary_hp TI=5 NFF NB (За разъяснениями команды CAPTURE и символов в приведенном выше примере обрашайтесь к описанию команды CAPTURE в руко- водстве "Сервер печати ОС NetWare 386" (NetWare 386 Print Server). ATTACH __________________________________________________________________ ATTACH используют, чтобы подсоединить дополнительные файло- вые серверы, не прерывая текущее выполнение сценария входа в систему. Формат команды ATTACH [fileserver[/username[;password]]] Как использовать ATTACH Введите эту команду в ваш сценарий входа в систему. ATTACH Вы также можете указать файловый сервер, имя пользователя и пароль. Если вы используете команду ATTACH, не вставляя упомянутые выше переменные, вы будете приглашены ввести их, когда будете входить в систему. Следующие приглашения появ- ляются (по одному) на вашем экране: Server: Username: Password: Вы будете приглашены ввести только те переменные, которые не включили в команду. Например, если вы вводите ATTACH и имя файлового сервера в ваш сценарий входа в систему, вы будете приглашены ввести только ваше имя входа в систему и пароль для этого файлового сервера, когда вы будете входить в сеть. ____________________________________________________ Примечание: Будьте внимательны при включении паролей в команду ATTACH. Появляется угроза безопасности, если другие пользователи могут найти пароли к файловому серверу, к которому обычно они не имеют права получать дос- туп. _____________________________________________________ Если вы редко используете другие файловые серверы, восполь- зуйтесь утилитой командной строки ATTACH. При подключении к файловым серверам из сценария входа в систему расходуется дополнительный на файловом сервере и выделяется дополни- тельная память. ____________________________________________________ Примечание: Вы можете подключиться не более, чем к восьми файло- вым серверам, включая тот файловый сервер, с которо- го вы вошли в систему. ____________________________________________________ Если вы постоянно подключаетесь к нескольким серверам, мы рекомендуем вам использовать на каждом файловом сервере одинаковые пользовательское имя и пароль (если вы подключа- етесь не как пользователь GUEST, так как пользователю GUEST пароль обычно не требуется). В этом случае по команде ATTACH FS2 ваша рабочая станция будет подключена к файлово- му серверу FS2, и вы войдете в сеть с этого файлового сер- вера, используя имя пользователя и пароль, которые вы ука- зали, когда входили в сеть с принятого по умолчанию файло- вого сервера. Использование тех же самых пользовательского имени и пароля позволяет вам подключаться к файловому серверу, не указывая в команде вашего пароля. Если вы уже вошли в сеть с файло- вого сервера FS1, ваша команда подключения к файловому сер- веру FS2 будет выглядеть следующим образом. ATTACH FS2 Однако, даже если вы используете различные пользовательские имена и пароли на разных файловых серверах, вы можете все же поместить команду ATTACH в ваш сценарий. Программа, вы- полняюшая функцию входа в систему, пригласит вас для введе- ния пользовательского имени и пароля (если пароль требу- ется) для того файлового сервера, к которому вы хотите подключиться. Используя одинаковые пользовательское имя и пароль на нескольких файловых серверах и подключаясь к ним в вашем сценарии входа в систему, вы получаете также дополнительное преимущество. Если на любом из файловых серверов истекло время действия вашего пароля, программа, выполняюшая фунц- кию входа в систему, позволит вам ввести новый пароль и синхронизирует время действия вашего пароля на всех осталь- ных файловых серверах, для которых вы имеете пользова- тельское имя и пароль. Чтобы подключиться к файловому серверу FS2 в качестве адми- нистратора (который имеет пароль "Pizza"), вам следует наб- рать следующее в сценарии входа в систему: ATTACH FS2/SUPERVISOR;PIZZA BREAK _________________________________________________________________ BREAK ON позволяет вам прекращать выполнение вашего сцена- рия входа в систему. По умолчанию принято BREAK OFF. Формат команды BREAK ON|OFF Как использовать BREAK Если в вашем сценарии входа в систему имеется команда BREAK ON, вы можете нажать клавиши C или , чтобы прервать нормальное выполнение вашего сценария входа. Включение в ваш сценарий входа в систему команды BREAK ON не оказывает влияние на прерывание DOS . (Ко- манда сценария входа в систему DOS BREAK объясняется на стр....) Когда опция BREAK находится в состоянии "ON", набранная пе- ред этим с клавиатуры информация в буфере не сохраняется. Если вы находите эту сторону действия команды нежелательной для себя, оставьте опцию BREAK в том состоянии, которое принято по умолчанию: BREAK OFF. COMSPEC __________________________________________________________________ Используйте команду COMSPEC, чтобы указать каталог, который использует DOS для перезагрузки командного процессора. Формат команды COMSPEC = [path] filename Замените path на путь к каталогу, начиная с буквы накопите- ля DOS или имени тома ОС NetWare. Обычно вы будете заменять filename на COMMAND.COM. Как использовать COMSPEC Если в вашей сети доступно несколько версий DOS, каталоги с командными файлами должны быть созданы для каждой версии DOS. Команда COMSPEC должна быть использована для перезаг- рузки соответствующего файла COMMAND.COM (файла командного интерпретатора) для компьютера и операционной системы, используемых каждым пользователем. Чтобы указать местонахождение (каталог или накопитель), от- куда следует загружать программу, введите в ваш сценарий входа в систему соответствующий вариант команды COMSPEC. В качестве filename обычно используется СOMMAND.COM. В специ- фикации накопителя не должно быть больше 12-ти символов. Эта команда модифицирует переменную среды "COMSPEC", которая устанавливается в файле AUTOEXEC.BAT. Примеры Следующие команды загружают файл СOMMAND.COM с третьего се- тевого накопителя. MAP *3=SYS:PUBLIC\%MACHINE\%OS_VERSION COMSPEC=*3:COMMAND.COM Следующая команда загружает файл СOMMAND.COM с локального накопителя. COMSPEC=C:COMMAND.COM Следующие команды загружают файл СOMMAND.COM с накопителя поиска. MAP S16:=SYS:DOS\%MACHINE\%OS_VERSION COMSPEC=S16:COMMAND.COM Следующие команды загружают файл СOMMAND.COM из фик- тивного корневого каталога, когда интерпретируются команды сценария входа в систему. MAP ROOT D:=SYS:DOS\%MACHINE\%OS_VERSION COMSPEC=D:COMMAND.COM DISPLAY __________________________________________________________________ Используйте команду DISPLAY для вывода на экран рабочей станции в процессе входа в сеть содержимого указываемого вами текстового файла. Формат команды DISPLAY [directory/] filename Как использовать DISPLAY Чтобы указать операционной системе, что при входе в сеть необходимо вывести на экран содержимое определенного файла, введите следующую команду, заменяя переменные (каталог и имяфайла) на имя файла, который вы хотите просмотреть при входе в сеть. DISPLAY [directory/] filename Абсолютно все символы, содержащиеся в файле, включая "му- сор" такой, как управляющие коды принтера и текстовых ре- дакторов, будут отображаться на экране вашей рабочей стан- ции. Посмотрите для сравнения команду FDISPLAY на странице... Примеры Предположим, что вы помещаете сообщение в файл общего поль- зования "доска объявлений" (например, SYS:PUBLIC/MESSAGES/SYSNEWS.TXT) и хотите, чтобы все члены группы SALES прочитали этот файл при входе в сеть. Чтобы разрешить операционной системе отображать этот файл автоматически, вы можете в системном сценарии входа в сис- тему набрать похожую на следующую команду. IF MEMBER OF "GROUP" THEN DISPLAY SYS:PUBLIC/MESSAGES/SYSNEWS.TXT Если в системном сценарии входа в систему имеется команда DISPLAY, то любые сообщения, помещенные вами в файл, будут появляться на ваших экранах, когда они будут входить в сеть. Например, если вы записываете в файл SYSNEWS.TXT сообщение "Meeting for everyone Tuesday at 2:00" (общее собрание состоится во вторник в 2:00), пользователи получат это сообщение при входе в сеть. (Если заданный каталог отсутствует или нужный файл не найден, при входе в сеть ни- каких сообщений об ошибках отображаться не будет.) DOS BREAK _________________________________________________________________ Используйте команду DOS BREAK, чтобы установить уровень проверки нажатия клавиш для DOS. Если команда DOS BREAK установлена на состояние ON, то всякий раз, когда программа посылает запрос в DOS, вы можете прервать выпол- нение программы, нажав . (Эта команда отлича- ется от команды BREAK, которая прерывает выполнение сцена- рия входа в систему.) Формат команды DOS BREAK [ON | OFF] Как использовать DOS BREAK Вставьте следующую команду в ваш сценарий входа в систему. DOS BREAK ON По умолчанию принято DOS BREAK OFF. Более подробную инфор- мацию можно получить, посмотрев описание команды BREAK в вашем руководстве по DOS. DOS SET _________________________________________________________________ Используйте команду DOS SET, чтобы присвоить переменной среды DOS указанное значение. Формат команды [option][DOS] SET name = "value" Замените option на ключевые слова LOCAL, TEMP или TEMPORARY. Это установит значение переменной только в среде сценария входа в систему, но не в среде персонального компьютера. Замените name на параметр среды, который идентифицирует ту среду, к которой вы хотите перейти. Замените value на идентификаторную переменную. За дополни- тельной информацией об идентификаторных переменных обрати- тесь к разделу "Идентификаторные переменные" для команды IF...THEN на странице ... Как использовать DOS SET Команда сценария входа в систему DOS SET похожа на команду SET операционной системы DOS. Однако, команда сценария вхо- да DOS SET требует от вас вводить знаки двойных кавычек (" ") вокруг переменных, в то время как команда SET операцион- ной системы DOS этого не требует. Чтобы присвоить перемен- ной имени любое указанное вами значение, поместите следую- щую команду в ваш сценарий входа в систему. ___________________________________________________ Примечание: Обратная косая черта используется в командах сети NetWare в качестве специального программного символа; она воспринимается как обычная обратная косая черта, только в том случае, если впереди нее стоит еще одна обратная косая черта. ____________________________________________________ Более подробно о "значениях", которые вы можете устанавли- вать, смотрите в описании команды SET вашего руководства по DOS. Пример 1 Следующая команда установливает режим отображения пути к вашему текущему каталога в подсказке DOS. SET PROMT = "$P$G" Команда SET PROMT выводит в подсказке DOS путь к вашему ка- талогу вместо буквы накопителя. Параметр $P задает вывод пути, а параметр $G выводит символ ">". Для получения более полной информации смотрите ваше руководство по DOS. Пример 2 Чтобы удалить переменную из среды DOS, оставьте в командной строке после знака равенства пустое место. DOS SET name = или SET name = ____________________________________________________ Примечание. Поскольку максимальный размер строки среды DOS имеет фиксированное значение, эта команда не будет рабо- тать, если строка среды слишком мала. Чтобы увели- чить размер строки,наберите SHELL=COMMAND.COM/E:200/P в файле CONFIG.SYS. Эта команда увеличивает размер строки среды со 127 до 200 байтов (если вы используете версию DOS 3.2 и вы- ше). Для получения более полной информации смотрите описание команды SHELL в вашем руководстве по DOS. ____________________________________________________ Пример 3 Чтобы установить путь для программы, наберите SET DLYPATH ="G:\\REPORTS\\DAILY" Это установит для переменной DLYPATH значение G:\\reports\\daily. Пример 4 Чтобы увеличивать числа в цикле, наберите SET X ="1" SET + "1" Это будет прибавлять единицу к текущему значению переменной x. Смотрите описание команды GOTO на странице .... DOS VERIFY _______________________________________________________________ Используйте DOS VERIFY, чтобы проверить, что информация, скопированная на локальный накопитель, может быть считана без ошибок. По умолчанию принято значение OFF. Формат команды DOS VERIFY [ON | OFF] Как использовать DOS VERIFY Команда DOS COPY, в отличие от команды копирования OC NetWare (NCOPY) автоматически не проверяет , что данные, скопированые на локальный накопитель, могут быть считаны после копирования. Если вы хотите, чтобы DOS производила такую проверку, вам следует ввести в ваш сценарий входа в систему команду DOS VERIFY ON. Эта команда может не рабо- тать с тем программным обеспечением, которое имеет защиту от копирования. Если вы не ввели в ваш сценарий входа в систему команду DOS VERIFY ON, но, однако, хотите, чтобы конкретная копия про- верялась, вам следует добавить в команду DOS COPY опцию /v, как показано в следующем примере: COPY filename to local driver:/v Другими словами, если вы хотите убедиться, что данные, ско- пированные на локальный накопитель, скопированы правильно, вы должны выполнить любое из следующих действий: * Введите команду DOS VERIFY ON в ваш сценарий входа в систему. * Используйте команду NCOPY. * Добавьте опцию /v в команду DOS COPY. DRIVE ___________________________________________________________________ Вы можете использовать команду DRIVE, чтобы указать накопи- тель, который будет вашим принятым по умолчанию накопите- лем. Формат команды DRIVE [d: | *n:] Замените d на букву локального или сетевого накопителя. Замените n на номер накопителя. Как использовать команду DRIVE Если вы не вводили команду DRIVE в ваш сценарий входа в систему, то вашим принятым по умолчанию накопителем уста- навливается первый сетевой накопитель, который часто назна- чаетсй для своего личного каталога, когда вы входите в сеть. Введите команду DRIVE в ваш сценарий входа в систему, заме- няя x на соответствующий накопитель. Например, в следующей команде накопитель J указывается в качестве вашего принято- го по умолчанию накопителя. DRIVE J: Указанный вами накопитель должен быть определен в вашем сценарии входа в систему в отдельной команде MAP, введенной в любой строке, предшествующей записи команды DRIVE. Пример Предположим, что вы планируете поработать только над одним проектом в течение нескольких дней и информация для этого проекта находится на накопителе S. Вы можете использовать команду DRIVE для установки вашего принятого по умолчанию накопителя на S (чтобы каждый раз при входе вручную не из- менять спецификацию накопителя). DRIVE S: EXIT __________________________________________________________________ В сценарии входа в систему используйте команду EXIT только один раз, чтобы прервать выполнение утилиты LOGIN и выпол- нить один файл с расширением .COM, .EXE или .BAT или одну внешнюю команду DOS, такую как DIR. Формат команды EXIT ["filename"] Как использовать EXIT Следующая команда в вашем сценарии входа в систему прекращает выполнение утилиты входа в систему. EXIT _____________________________________________________________ ЪДї Любая команда сценария входа в систему, введенная на любой і!і строке, находящейся ниже команды EXIT будет АДЩ игнорироваться. ______________________________________________________________ Вы можете использовать команду EXIT для пересылки короткой команды в файл COMMAND.COM (в файл интерпретатора команд операционной системы, которую вы используете). Команда раз- мещается в буфере набора с клавиатуры. Если вы добавили в файл SHELL.CFG или NET.CFG полное имя машины, используйте в строке, расположенной выше короткой команды, которая должна работать, команду PCCOMPATIBLE. Короткая команда не должна иметь длину более 14 символов. EXIT "filename" _______________________________________________________________ ЪДї Не используйте в вашем сценарии входа в систему команду EXIT і!і для выхода из него и входа в программу, имеющую АДЩ статус резидентной программы, (такой как SideKick или любого эмулятора терминала, которые прерываются и остаются рези- дентными после снятия). ______________________________________________________________ Команда сценария входа в систему EXIT доступна только на IBM-PC и совместимых компьютерах, если вы не используете командусценария входа PCCOMPATIBLE. Описание команды PCCOMPATIBLE смотрите на странице .... Пример 1 Если вы не хотите создавать индивидуальные сценарии входа в систему и не хотите выполнять сценарий входа в систему, принятый по умолчанию, введите в конце системного сценария входа в систему следующую команду: EXIT Пример 2 Если полное имя вашей машины IBM_PC и вы хотите выйти в программу меню, введите в конце сценария входа в систему следующее: EXIT MENU Пример 3 Если вы имеете компьютер Hewlet Packard и изменили полное имя машины или в файле SHELL.CFG, или в файле NET.CFG на HE_PAC, следующие команды в конце сценария входа в систему позволят вам выйти в программу меню: PCCOMPATIBLE EXIT MENU Пример 4 Если вы хотите выйти из утилиты LOGIN в систему электронной почты (например, EMAIL), наберите в вашем сценарии входа в систему предложение IF ... THEN. (Смотрите подробное описа- ние команды IF ... THEN на странице ....) IF "%1" = "EMAL" THEN EXIT "EMAIL" FDISPLAY __________________________________________________________________ Используйте команду FDISPLAY для отображения в процессе входа в систему на экране рабочей станции содержимого ука- зываемого вами текстового файла. Формат команды FDISPLAY [directory/] filename Как использовать FDISPLAY Чтобы задать операционной системе отображение определенного файла при входе в сеть, введите следующую команду, заменяя переменные (каталог и имяфайла) на имя файла, который вы хотите просмотреть при входе в сеть. DISPLAY [directory/] filename Если вы вводите команду FDISPLAY, текст файла "фильтруется" и форматируется таким образом, что на экране отображается только сам текст. Команда FDISPLAY не будет отображать зна- ки табуляции. Посмотрите для сравнения команду DISPLAY на странице .... Пример Предположим, что вы помещаете сообщение в файл общего поль- зования "доска объявлений" (например, SYS:PUBLIC/MESSAGES/SYSNEWS.TXT) и хотите, чтобы все члены группы SALES прочитали этот файл при входе в сеть. Чтобы разрешить операционной системе отображать этот файл автоматически, вы можете в системном сценарии входа в систему набрать похожую на следующую команду. IF MEMBER OF "GROUP" THEN FDISPLAY SYS:PUBLIC/MESSAGES/SYSNEWS.TXT Если в системном сценарии входа в систему имеется команда FDISPLAY, то любые сообщения, помещенные вами в файл, будут появляться на ваших экранах, когда они будут входить в сеть. Например, если вы записываете в файл SYSNEWS.TXT сообщение "Meeting for everyone Tuesday at 2:00" (общее собрание состоится во вторник в 2:00), пользователи получат это сообщение при входе в сеть. (Если заданный каталог отсутствует или нужный файл не найден, при входе в сеть ни- каких сообщений об ошибках отображаться не будет.) FIRE PHASERS Используйте команду FIRE PHASERS для сигнализации о наступ- лении определенных условий. Формат команды FIRE PHASERS n TIMES Как использовать FIRE PHASERS Чтобы задать автоматическую выдачу "лазерных залпов", по- местите в вашем сценарии следующее: FIRE PHASERS n TIMES Замените n на такое число (не более девяти) раз, сколько вы хотите услышать эти сигналы. Пример 1 Включив следующую команду в сценарий входа в систему, вы услышите при входе в сеть выдачу "лазерных залпов" четыре раза. FIRE PHASERS 4 TIMES Пример 2 Эту команду можно использовать с командой IF...THEN. (Опи- сание команды IF...THEN смотрите на странице....) Вы можете указать, чтобы количество залпов было различным в зависи- мости от обстоятельств входа в сеть. Например, вы можете задать сигнализацию в четверг пятью залпами, введя следую- щую команду: IF DAY_OF_WEEK = "Thursday" THEN FIRE PHASERS 5 TIMES или FIRE PHASERS %NDAY_OF_WEEK TIMES GOTO _________________________________________________________________ Используйте команду GOTO, когда вы хотите выполнить часть сценария входа в систему, изменяя настоящую последователь- ность выполнения команд. Формат команды GOTO label Используйте label для указания места, с которого вы хотите продолжить выполнение сценария входа в систему. Как использовать GOTO Не используйте GOTO для выхода за пределы пары BEGIN/END. Например, чтобы выполнить команды в цикле, вам следует включить следующее: SET X = "1" LOOP: SET X = + "1" ;см. составные строки для WRITE IF IS LESS THAN VALUE "10" THEN GOTO LOOP является переменной среды DOS, значение которой увели- чивается при каждом проходе цикла. Помните, что командам IF разрешено продолжаться на следую- щей строке, если на одной строке недостаточно места. ____________________________________________________________ ЪДї і!і Установите в вашем сценарии входа в систему BREAK ON перед АДЩ экспериментированием с циклами. _____________________________________________________________ IF ... THEN ... ELSE ___________________________________________________________________ Используйте команду IF...THEN для выполнения команд в про- цессе входа в сеть в зависимости от истинности указанных условий. Формат команды IF conditional(s) [AND|OR|NOR] conditional(s) THEN command ELSE command Как использовать IF ... THEN ... ELSE Предложения IF могут быть вложенными. Максимальный уровень вложений в настоящее время равен 10. Иногда вы можете вста- вить два или более условий в одно предложение, используя AND, OR или NOR. Например, если вы вставите в ваш сценарий входа в систему приведенную ниже команду IF ...THEN, то на экране вашей ра- бочей станции будет появляться "AARGH...", когда вы будете входить в сеть по понедельникам, и "Have a happy day", в другие дни. IF DAY_OF_WEEK="Monday" THEN WRITE "AARGH..." ELSE WRITE "Have a happy day!" Предложение , следующее за IF, является условием. В приве- денном выше примере DAY_OF_WEEK="Monday" является условием. Условия могут быть заданы с помощью идентификаторных пере- менных, параметров командной строки или переменных среды DOS. Идентификаторные переменные Условие может содержать идентификаторные переменные, предс- тавляющих входную информацию, меняющуюся в зависимости от обстоятельств, таких как дата и время. В приведенном выше примере DAY_OF_WEEK является идентификаторной переменной. Любую переменную среды DOS можно представить как идентифи- катор, заключив ее в угловые скобки. Идентификаторные пере- менные могут быть введены или прописными, или строчными буквами. +---------------------------------------------------------+ | Идентификаторные | Изображение на экране | | переменные | | |---------------------------------------------------------| | УСЛОВНЫЕ | |---------------------------------------------------------| | | | | ACCESS_SERVER | Возвращает TRUE (истина),если| | | сервер доступа функционирует,| | | в противном случае - FALSE | | |(ложь) | |--------------------------+------------------------------| | ERROR_LEVEL | Номер ошибки, 0=нет ошибки | |--------------------------+------------------------------| | MEMBER OF "group" | Возвращается TRUE, если член | | | группы, в противном случае | | | - FALSE | |--------------------------+------------------------------| | ДАТА | |--------------------------+------------------------------| | DAY | Номер дня (01 - 31) | |--------------------------+------------------------------| | DAY_OF_WEEK | День недели (Monday - | | | понедельник, | | | (Tuesday - вторник и т.д.) | |--------------------------+------------------------------| | MONTH | Номер месяца (01 - 12) | |--------------------------+------------------------------| | MONTH_NAME | Имя месяца (January - | | | январь, June - июнь и т.д.)| |--------------------------|------------------------------| | NDAY_OF_WEEK | Номер дня недели (1 - 7, | | | воскресенье=1) | |--------------------------|------------------------------| | SHORT_YEAR | Год в сокращенном формате | | | (88, 89,...) | |--------------------------|------------------------------| | YEAR | Год в полном формате | | | (1988,1989) | |--------------------------+------------------------------| | СРЕДА DOS | |--------------------------+------------------------------| | < > | Используется любой перемен-| | | ной среды DOS как строка | |--------------------------+------------------------------| | СЕТЬ | |--------------------------+------------------------------| | NETWORK_ADRESS | Сетевой номер кабельной | | | системы | | | (8 шестнадцатиричных цифр) | |--------------------------+------------------------------| | FILE_SERVER | Имя файлового сервера | |--------------------------+------------------------------| | ВРЕМЯ | |--------------------------+------------------------------| | AM_PM | День или ночь (до полудня | | | или после полудня) | |--------------------------+------------------------------| | GREETING_TIME | Утро, день или вечер | |--------------------------+------------------------------| | HOUR | Час дня или ночи (1 - 12) | |--------------------------+------------------------------| | HOUR24 | Час (00 - 23, полночь = 00)| |--------------------------+------------------------------| | MINUTE | Минута (00 - 59) | |--------------------------+------------------------------| | SECOND | Секунда (00 - 59) | |--------------------------+------------------------------| | ПОЛЬЗОВАТЕЛИ | |--------------------------+------------------------------| | FULL_NAME | Полное имя пользователя (из| | | файла SYSCON) | |--------------------------+------------------------------| | LOGIN_NAME | Уникальное имя входа в | | | систему пользователя | |--------------------------+------------------------------| | USER_ID | Номер, назначенный для | | | каждого пользователя | |--------------------------+------------------------------| | РАБОЧАЯ СТАНЦИЯ | |--------------------------+------------------------------| | MACHINE | Машина, для которой была | | | написана оболочка, напр., | | | IBM PC | |--------------------------+------------------------------| | OS | Операционная система рабочей | | | станции, напр., MS DOS | |--------------------------+------------------------------| | OS_VERSION | Версия DOS на рабочей станции| |--------------------------+------------------------------| | P_STATION | Адрес станции или адрес узла | | | (12 шестнадцатиричных цифр | |--------------------------+------------------------------| | SMACHIINE | Сокращенное название машины, | | | напр., IBM | |--------------------------+------------------------------| | STATION | Номер соединения | +---------------------------------------------------------+ Далее следуют некоторые примеры задания условий с помощью идентификаторных переменных. %ERROR_LEVEL Используйте идентификаторную переменную "%ERROR_LEVEL" как условие того, чтобы команда выполнялась только в том слу- чае, если удовлетворяются определенные требования. "%ERROR_LEVEL" дает вам контроль над ошибочными ситуациями. Если команда может быть выполнена успешно, уровень ошибок будет "0". Если команда не может быть выполнена, то уровень ошибок будет представлен значением, отличным от "0". Вы мо- жете использовать условие '"IF "%ERROR_LEVEL"="0"', чтобы предотвратить выполнение команд, следующих за "THEN BEGIN" при возникновении ошибок. Например, если обычно вам необходим доступ к файлам на нес- кольких файловых серверах, вам следует ввести в ваш сцена- рий входа в систему следующее: ATTACH file server/username IF "%ERROR_LEVEL"="0" THEN MAP K:=file server/ volume:directory/subdirectory Если указанный файловый сервер в момент входа в сеть выве- ден из сети, то будет возвращен уровень ошибки "1" или дру- гой, отличный от "0", и программа входа не отобразит нако- питель для этого севера. Вы избежите создания ошибочной си- туации или получения сообщения об ошибке, используя иденти- фикаторную переменную "%ERROR_LEVEL". В команде сценария входа в систему значение "%ERROR_LEVEL" будет определяться для последней команды ATTACH или # (EXTERNAL PROGRAM EXECUTION), которая была выполнена. Нап- ример, если вы подключаетесь к двум файловым серверам, оно будет определяться для второй команды ATTACH. Идентификатор ERROR_LEVEL вставляется после всех команд, которые могут окончиться неудачно. Он устанавливается или на уровень ошибки размноженного (spawned) процесса, или на ошибочный код ОС NetWare для внутренних команд сценария входа в систему. ____________________________________________________ Примечание: Командам IF разрешено "сворачивать" на следующую строку, если на одной строке недостаточно места. Также, идентификатор "%ERROR_LEVEL" может быть наб- ран со знаком подчеркивания (_) или в одно слово ("%ERRORLEVEL"). ____________________________________________________ NETWORK_ADDRESS Используйте идентификатор NETWORK_ADDRESS, чтобы отправить сообщение всем пользователям, которые подключены к той же самой кабельной системе. Если от пользователей некоторой кабельной системы постоянно поступают сообщения об ошибках, вам следует послать им со- общение похожее на следующее: IF NETWORK_ADDRESS = "00000ACC" write "Пожалуйста, сообщите о любых возникающих на вашей станции проблемах Крис ." ____________________________________________________ Примечание: Трехзначному номеру кабельной системы, ACC, пред- шествуют пять нулей. Добавляйте нули к любым сетевым адресам, чтобы получилось восьмизначное число, когда эти адреса используются в предложениях IF ... THEN. ____________________________________________________ [NOT] MEMBER OF "GROUP" Идентификаторная переменная [NOT] MEMBER OF "GROUP" похожа на другие условия, но вместо знака "=" требует "OF". Она может быть использована также как и другие условия в пред- ложении IF. Условие [NOT] MEMBER OF "GROUP" проверяет, при- надлежит ли пользователь к определенной группе, заданной вами на файловом сервере. Например, вы можете ввести в пользовательский сценарий входа в систему следующую коман- ду: IF MEMBER OF "SALES" AND DAY_OF_WEEK = "Monday" THEN WRITE "Sales meeting at 10:00;BE THERE!" Если пользователь является членом группы "Sales" и сегодня понедельник, то при входе в сеть он или она получит сообще- ние: "Sales meeting at 10:00;BE THERE!" (В 10:00 собрание отдела продаж,ЯВКА ОБЯЗАТЕЛЬНА!) Обычный текст (текст, который не является частью синтаксиса команды) должен быть заключен в кавычки (""). Например, "Monday" и "Sales meeting at 10:00;BE THERE!" - это обычный текст он будет отображаться точно так, как вы его набирали. Более полную информацию об обычном тексте вы сможете пос- мотреть в описании команды WRITE на странице .... P_STATION Используйте P_STATION в предложении IF ... THEN, чтобы пос- лать сообщение на указанную станцию или выполнить на ней операции. Например, вы могли бы послать сообщение похожее на следующее: IF P_STATION = 0000000001AB then write "Вам надо обновить оболочку для рабочей станции. Пожалуйста, обратитесь к администратору системы." ___________________________________________________ Примечание: Когда вы используйте в предложении IF ... THEN P_STATION, набирайте P_STATION прописными буквами и убедитесь, что номер станции имеет 12-значную длину. Если сетевой адресс является 3-значным числом, до- бавьте впереди него девять нулей, чтобы получить 12-значное число. __________________________________________________ Параметры командной строки Вы можете использовать параметры командной строки в коман- дах IF ... THEN вашего сценария входа в систему. Когда вы входите в сеть, вы можете указать параметры, которые коман- да LOGIN передаст в ваш сценарий входа в систему. При интерпретировании сценария входа в систему любой знак процента (%), введенный в команду, за которым следует цифра от 0 до 9, будет заменен на соответствующий параметр из ва- шей командной строки LOGIN. Имени файлового сервера всегда соответствует %0, и имени пользователя при входе в сеть всегда соответствует %1. Сле- дующая запись в командной строке входа в сеть соответствует %2 в сценарии входа в систему, следующая запись соответс- твует %3, и так далее. (Параметры от %0 до %9 являются пе- ременными.) Если вы нуждаетесь более, чем в 9 параметрах, используйте команду "SHIFT". Вы можете ввести следующую команду LOGIN: LOGIN COUNT/RON SALES MARKETING LEGAL Сервер COUNT соответствует %0 в сценарии входа в систему, пользователь RON соответствует %1, слово SALES %2, слово MARKETING %3 и слово LEGAL %4. Помните, что параметры командной строки подставляются в ко- манды сценария. Например, IF "%0"="COUNT" при вашем входе в сеть появится как IF "COUNT"="COUNT". Предположим, что вы хотите входить в сеть с файлового сер- вера COUNT каждый день и что иногда вы также захотите подк- лючиться к одному или двум другим файловым серверам в ин- терсети. Наберите следующие команды в вашем сценарии входа в систему: IF "%2" DOES NOT EQUAL "" ATTACH %2 IF "%3" DOES NOT EQUAL "" ATTACH %3 Затем, когда вы входите в сеть, укажите дополнительный фай- ловый сервер (если любой), к которому вы хотите подключить- ся. Например, чтобы войти в сеть с сервера COUNT и подклю- читься к серрверам LEGAL и COMMS, наберите следующую коман- ду LOGIN: LOGIN COUNT/username LEGAL COMMS Чтобы войти в сеть с сервера COUNT и подключиться только к серверу LEGAL, наберите LOGIN COUNT/username LEGAL Чтобы войти в сеть только с сервера COUNT, наберите LOGIN COUNT/username Чтобы подключиться к другим файловым серверам, подставьте имена вместо LEGAL и COMMS. Используйте команду SHIFT для изменения %переменных, назна- ченных в каждом параметре командной строки. Более подробную информацию смотрите в описании команды SHIFT на странице .... Соотношения в условиях Существует шесть возможных соотношений между информацией, содержащейся в выражении IF...THEN: равно, не равно, боль- ше, меньше, меньше или равно, больше или равно. Вы можете представить соотношения равенства и неравенства следующими способами: +------------------------------------------------------+ | Равно | Не равно | |-----------------+------------------------------------| | IS | IS NOT | |-----------------+------------------------------------| | = | != | |-----------------+------------------------------------| | == | <> | |-----------------+------------------------------------| | EQUALS | DOES NOT EQUAL | | | NOT EQUAL TO | +------------------------------------------------------+ Остальные четыре соотношения могут быть представлены следующим образом: +------------------------------------------------------+ | > IS GREATER THAN (больше) | |------------------------------------------------------| | < IS LESS THAN (меньше) | |------------------------------------------------------| | >= IS GREATER THAN OR EQUAL TO (больше или равно)| |------------------------------------------------------| | <= IS LESS THAN OR EQUAL TO (меньше или равно)| +------------------------------------------------------+ Ключевое слово VALUE добавлено, чтобы подчеркнуть, что про- изводится числовое сравнение, а не по кодам ASCII. При сравнении по кодам ASCII, 10 меньше 5, потому что только первое целое 1 сравнивается с 5. VALUE сравнивает все зна- чение 10 с 5. Например, IF VALUE HOUR24 >= "12" THEN WRITE "afternoon" Условия соединяются запятыми, словом AND и словом OR, чтобы сформировать составное условие. Следующие условия являются составными: IF GREETING_TIME IS "AFTERNOON" AND DAY IS "01" (Если время после полудня первого дня месяца) IF HOUR24="23", MINUTE="59", AND SECOND="59" (Если 11:59:59 пополудни) Команды сценария входа в систему, вводимые после THEN Команда, следующая за THEN, может быть простым предложением или открывающей блок команд. Предложение или блок команд интерпретируются, только если все указанные условия являют- ся истинными. Простое предложение Следующее является примером простого предложения: IF NDAY_OF_WEEK="6" THEN WRITE "HOORAY! IT'S FRIDAY!" Блок команд Вы должны указать блок команд указанием BEGIN или DO после THEN в предложении IF ... THEN. BEGIN или DO должны быть введены на той же самой строке, что и условие IF. Когда вы введете все команды, как вы хотите, должны быть выполнены при истинности заданных вами условий, закончите блок указа- нием END. Например, наберите такое IF ...THEN предложжение: IF DAY_OF_WEEK="Tuesday" THEN BEGIN WRITE "Staff meeting today at 10 a.m." INCLUDE SYS:PUBLIC/UPDATE END В этом случае во вторник вы получите сообщение о митинге. Ваш сценарий входа в систему обработает также любые команды или сообщения, содержащиеся в файле SYS:PUBLIC/UPDATE. (Объяснение команд INCLUDE и WRITE смотрите на страницах 307 и 323 соответственно.) INCLUDE __________________________________________________________________ Используйте команду INCLUDE, для создания обрабатываемых интерпретатором сценария входа в систему "подсценариев", которые не содержатся в текущем исполняемом сценарии входа в систему. Подсценарии представляют собой обычные текстовые файлы, содержащие действительные команды сценариев (любые из команд, описанных в данном приложении). Формат команды INCLUDE [path]filename Замените path на путь к каталогу, содержащий указанный файл. Замените filename на текстовый файл, который вы хотите включить в качестве подсценария в сценарий входа в систему. Как использовать INCLUDE Вы можете создавать и редактировать подсценарии с помощью любых текстовых редакторов или текстовых процессоров. ________________________________________________________ Примечание. Число вложений команды INCLUDE ограничивается только объемом памяти. Это означает, что один файл сценария может включать в себя с помощью команды INCLUDE дру- гой файл сценария, который, во время работы, может включать в себя с помощью команды INCLUDE уже другой файл сценария, и так далее. В каждом каталоге, со- держащем нужные вам файлы подсценариев, вы должны иметь, как минимум, права Сканирования (Scan) и Чте- ния (Read). ____________________________________________________ Пример 1 Предположим, что вы хотите позволить Рабочей группе руково- дителей создать подсценарий, содержащий различные команды для пользователей этой группы. Поместите следующие предло- жения в системный сценарий входа в систему: IF MEMBER OF "SALES" THEN INCLUDE SYS:MANAGERS\SALES.LOG IF MEMBER OF "ACCTING" THEN INCLUDE SYS:MANAGERS\ACCTNG.LOG _______________________________________________________ Примечание. Команда INCLUDE не работает в точности так, как ко- манды DISPLAY или FDISPLAY. Для того, чтобы она отображала текст в таком виде, как показано в этом примере, в файле, который включается в сценарий должны быть команды WRITE. _____________________________________________________ Пример 2 Команду INCLUDE можно использовать также для сокращения входных сценариев пользователей. Вы можете создать один файл сценария и затем каждый пользователь, которому он не- обходим, сможет включить его с помощью команды INCLUDE в свой сценарий входа в систему, вместо того, чтобы пользова- тель сам набирал дополнительные команды в свой сценарий. INCLUDE MAIL.SCN MACHINE ___________________________________________________________________ Используйте команду MACHINE, чтобы установить мащинное имя станции на указанное имя. Формат команды MACHINE="name" Как использовать MACHINE Машинное имя может содержать до 15 символов. (Длинные ма- шинные имена автоматически будут сокращены до 15 символов.) Команда MACHINE необходима для некоторых программ (таких как NETBIOS), написанных для работы под управлением DOS PC. Имя может включать такие идентификаторные переменные, как %STATION. Более полную информацию об идентификаторных пере- менных смотрите в разделе "Идентификаторные переменные" на странице .... MAP __________________________________________________________________ Используйте команду MAP, чтобы отобразить накопитель для находящегося в сети каталога. Прежде чем вы сможете рабо- тать в сетевом каталоге, у вас должен быть накопитель, наз- наченный для этого каталога. Формат команды MAP [option] [drive:= [path[;,,,][variable]] Опции команды Замените option на одну из следующих команд. За более пол- ной информацией об этих командах обращайтесь к описаниям этих команд, представленным в этом приложении в алфавитном порядке. DISPLAY ON/OFF ROOT ERRORS ON/OFF INS DEL Замените drive на любой действительный накопитель: сетевой, локальный или накопитель поиска. Замените path на полный путь к каталогу, начиная с буквы накопителя DOS или имени тома ОС NetWare. В той же строке добавьте дополнительные отображения накопи- телей, отделяя их друг от друга точкой с запятой. Замените variable на одну из следующих идентификаторных пе- ременных. OS Операционная система рабочей станции, например, MSDOS OS_VERSION Версия DOS, например, 3.30 MACHINE Полное машинное имя, назначенное в файле SHELL.CFG или NET.CFG SMACHINE Сокращенное машинное имя, назначенное в файле SHELL.CFG или NET.CFG Информацию о файле SHELL.CFG смотрите в Приложении B. Информацию о файле NET.CFG смотрите в Приложении E. MAP Выводит на экран текущие отображения накопителей для всех накопителей на рабочей станции. Неопределенные локальные накопители (накопители, которые не были отображены на ка- кой-нибудь каталог) на экран выводиться не будут. MAP drive:=directory Отображает указанный накопитель на данный каталог. Directory ссылается на путь к каталогу, начинающийся с име- ни тома. MAP drive:=drive Отображает первый накопитель на тот каталог, на который был отображен второй накопитель. MAP drive:=directory;drive:=directory ... В одной команде отображает группу накопителей на группу ка- талогов. Действие этой команды имеет такой же результат, как и результат, полученный после выполнения двух и более команд MAP drive:=directory. Directory ссылается на путь к каталогу, начинающийся с имени тома. MAP INSERT search drive:=directory Вставляет новые накопители поиска, используя следующую доступную букву в последовательности накопителей поиска. Directory ссылается на путь к каталогу, начинающийся с име- ни тома. MAP ROOT drive:=directory;drive:=drive Отображает накопитель на фиктивный корневой каталог. Неко- торые приложения программного обеспечения записывают файлы только в корневой каталог и читают файлы только из корнево- го каталога. А так как пользователи не имеют прав в корне- вом каталоге, они не смогут взять обратно файлы или сделать записи в файлах, которые они создают, используя эти прило- жения. ОС NetWare 386 позволяет пользователям назначать на- копитель для фиктивного корневого каталога. в котором они имеют такие права, какие им необходимы. MAP DISPLAY ON Когда вы входите в сеть, выводит на экран ваши отображения накопителей. Такой вывод устанавливается по умолчанию. MAP DISPLAY OFF Запрещает вывод на экран ваших отображений накопителей, когда вы входите в сеть. MAP ERRORS ON Выводит на экран сообщения об ошибках в команде MAP (сооб- щения, которые оповещают о серьезных ошибках, встреченных при распределении отображений накопителей). Этот вывод на экран устанавливается по умолчанию. MAP ERRORS OFF Запрещает вывод на экран сообщений об ошибках в команде MAP. Вы можете использовать MAP DISPLAY ON и MAP DISPLAY OFF в любом месте вашего сценария входа в систему; однако, вы должны установить MAP ERRORS ON и MAP ERRORS OFF перед выв- полнением отображений накопителей в своем сценарии входа в систему. Как использовать MAP Когда вы используете команду МАР для сохранения в сценарии входа в систему отображений накопителей, вам не надо при каждом входе в сеть заново отображать накопители на катало- ги. Эта команда полезна, если вы часто используете опреде- ленное число каталогов и не хотите указывать отображение на них накопителей каждый раз при входе в сеть. Вы можете указать отображения накопителей в своем сценарии входа в систему, введя в него те же самые команды, которые вы вводили бы, если пользовались обычной командой MAP в ко- мандной строке. Эти отображения будут выводиться на экран при входе в сеть, если только вы не ввели в свой сценарий входа в систему команду MAP DISPLAY OFF. Ваша рабочая станция имеет 26 логических накопителя (обоз- наченных буквами от А до Z), которые вы можете использовать для отображения на каталоги, находящихся в любых точках се- тевой структуры каталогов. При входе в сеть отображение не- которых из логических накопителей будет выполнено примени- тельно к локальным накопителям. До 16 накопителей из 26 мо- гут быть назначены в качестве накопителей поиска. При указании букв накопителей, таких как F или G, вы можете использовать символ "звездочка" (*),за которым идет цифра n, чтобы представить n-й сетевой накоиптель. Например, если в вашей рабочей станции два локальных нако- пителя, А и В, тогда *1: будет относится к одному из двух накопителей: или первому накопителю, следующему за накопи- телем, указанным в команде LASTDRIVE в файле CONFIG.SYS (смотрите Руководство по DOS), или накопителю F, если ко- манда LASTDRIVE= не используется. В общем случае предпочти- тельнее использовать относительное указание *n:; это позво- ляет входить в сеть с рабочих станций, имеющих различную конфигурацию локальных накопителей. _____________________________________________________ Примечание. DOS версии 3.00 и выше назначает по умолчанию пять локальных накопителей. Вы можете перезадать отобра- жения, сделенные по умолчанию, используя для этого команду LASTDRIVE в вашем файле CONFIG.SYS операци- онной системы DOS. _____________________________________________________ Вы можете отобразить локальный накопитель на сетевой ката- лог, но при этом вы не будете иметь доступа к данному ло- кальному накопителю, пока не отмените его сетевое отображе- ние. Сначала вы можете отобразить накопитель *1: на свой личный каталог. Пользователи при желании могут переопреде- лить накопитель *1:. Иначе ОС NetWare обрабатывает накопители поиска. Если вы отображаете накопитель поиска с номером, который не исполь- зовался, ОС NetWare даст накопителю поиска следующий воз- можный номер. Например, если у вас были три отображаемых накопителя по- иска, и вы сделали отображение накопителя S7 на каталог прикладной задачи, то ОС NetWare распределит его как S4. Если вы отображаете накопитель поиска, используя номер уже распределенный для накопителя поиска, ОС NetWare сделает бывший накопитель поиска сетевым накопителем. Если вы используете опцию вставки для отображения накопите- ля поиска на Z:, ОС NetWare переместит бывший накопитель поиска Z: на Y:, Y: на X: и так далее. Самым простым способом отображения накопителя поиска явля- ется введение следующей команды: MAP INS S16:= .... ОС NetWare не будет трогать все существующие накопители по- иска, а даст новому накопителю поиска следующую возможную букву. Пример 1 Если вы включите в ваш сценарий входа в систему следующую команду отображения,то во время вашего входа в сеть накопи- тель F будет отображен на каталог SYS:SALES: MAP F:=SYS:SALES Пример 2 Если вы включите следующую команду отображения, то во время вашего входа в сеть ваш первый сетевой накопитель будет отображен на каталог SYS:SALES: MAP *1:=SYS:SALES; Q:=*1:TEST Накопитель Q будет отображен на подкаталог TEST каталога SYS:SALES (поскольку вы определили, что *1: будет отображен на каталог SYS:SALES). Пример 3 Если вы включите следующую команду отображения, то ваш сле- дующий возможный накопитель поиска будет отображен на ката- лог SYS:WORDPROC: MAP S16:=SYS:WORDPROC Пример 4 Если вы отображаете накопитель поиска для версии DOS, пред- назначенной для каждого пользователя в системном сценарии входа в систему (или в каждом пользовательском сценарии входа в систему), это может быть представлено следующим об- разом: MAP S2:=SYS:PUBLIC\%MACHINE\%OS\%OS_VERSION Эта команда отображает накопитель поиска таким образом, чтобы доступ к командам DOS был возможен из любого каталога сети. Действительные значения идентификаторов берутся из области описателя программной оболочки при ее подключении к файло- вому серверу во время входа в сеть. Если вы хотите отобразить накопитель поиска для пользова- тельской версии DOS, не используя переменные, приведенные в примере 4, данное отображение может выглядеть следующим об- разом: S2:=SYS.PUBLIC\HE_PAC\MSDOS\V4.00 Каталог (указанный идентификаторами в команде МАР) должен уже существовать и в него должна быть загружена корректная версия DOS, иначе не будет успешно завершен вход в сеть. PAUSE _________________________________________________________________ Используйте команду PAUSE для создания паузы при выполнении сценария входа в систему. Формат команды PAUSE или WAIT Как использовать PAUSE Вы можете включить команду PAUSE в сценарий входа в систему сразу же после выдачи сообщения, чтобы иметь время прочи- тать сообщение, прежде чем оно будет сдвинуто с экрана. Ес- ли вы включаете команду PAUSE, на экране рабочей станции появляется сообщение сообщение "Strike a key when ready..." (по готовности нажмите клавишу). Программа входа в сеть пе- ред выполнением оставшихся команд сценария входа в систему будет ожидать нажатия клавиши. Введите любую из этих команд в ваш сценарий входа в систему в любом месте, в котром вы хотите приостановить выполнение сценария. PAUSE или WAIT PCCOMPATIBLE ___________________________________________________________________ Используйте команду PCCOMPATIBLE при указании именифайла в команде "ЕХIТ" сценария входа в систему на всех компьюте- рах, совместимых с IBM PC;вы также можете использовать ее на компьютерах,не имеющих 100% совместимости с IBM PC. Формат команды [PC]COMPATIBLE Как использовать PCCOMPATIBLE Если у вас совместимый с IBM PC компьютер,но вы изменили ваше полное машинное имя в файле SHELL.CFG на другое (нап- ример, HE_PAC, AT&T или TANDY), чтобы получить доступ к другой версии DOS, вам следует использовать команду PCCOMPATIBLE сценария входа в систему (или COMPATIBLE), чтобы проинформировать программу входа в сеть, что ваш компьютер совместим с IBM PC. Поместите в сценарии входа где-либо перед командой EXIT следующее: PCCOMPATIBLE Например, если вы работаете на компьютере, совместимом с IBM PC и хотите выйти из сценария входа в систему в утилиту SYSCON, наберите следующие команды в вашем сценарии входа в систему: PCCOMPATIBLE EXIT SYSCON REMARK __________________________________________________________________ Используйте команду REMARK используется для вставки в сце- нарий входа в систему пояснительного текста. Формат команды REM[ARK] [text] или * [text] или ; [text] Начинайте строку с REMARK (REM), звездочкой (*), точкой с запятой (;). Любой текст, следующий за этими символами при интерпретировании и выполнении команды LOGIN вашего сцена- рия входа в систему. Примечания не будут отображаться на вашем экране. Использование комментариев облегчает для вас чтение и пони- мание вашего сценария входа в систему . Команда REMARK и связанный с ней текст должны быть единс- твенной записью на строке. Размещение комментариев на одной строке с другими командами сценария вызовет ошибки при ин- терпретировании вашего сценария входа в систему. Чтобы добавить пояснительный текст в ваш сценарий входа в систему, наберите следующее (или один из других возможных вариантов команды REMARK) в вашем сценарии входа в систему, поместив необходимый вам текст вместо переменной text. REMARK [text] Пример Ниже приводятся примеры пояснительного текста, который вы можете использовать в команде REMARK: * Craig's login script (сценарий входа в систему пользователя Craig) ; mapped network drives follow: (здесь следуют отображенные сетевые накопители:) REM The mapping below does not work properly. (Приведенные ниже отображения работают неверно) REMARK Be sure to update the PROJECTS file. (не забудьте изменить файл PROJECTS) SHIFT ____________________________________________________________________ Используйте команду SHIFT для сдвига аргументов командной строки к следующей переменной. Это позволит вам вводить ар- гументы командной строки в любом порядке. Вы можете сдви- гать до 10 аргументов. Формат команды SHIFT [n] Замените n то число позиций вправо, на которое вы хотите сдвинуть переменную. По умолчанию оно принимается равным 1. Как использовать SHIFT Когда вы вводите команду LOGIN, вы можете включить дополни- тельные аргументы. Эти аргументы назначаются %переменной. В сценарии входа в систему вы можете вставить после SHIFT положительное или отрицательное число, чтобы сдвинуть пере- менные в том или другом направлении. Например, "SHIFT -3" сдвинет каждую %переменную на три позиции влево. Например, пользователь Craig хочет войти в программу обра- ботки текстов, изменить способ ее установки и отобразить накопитель для своей рабочей области ACCNTS. Также в своем сценарии входа в систему пользователь Craig имеет команду, отображающую накопитель на его каталог LOTUS, но она ему сегодня не понадобится. Ниже приводятся команды сценария входа в систему пользователя Craig. LOOP: IF "%2" = "WP" THEN SET WP="\U-CML\B-10\D- D\PS=Y:\APPL\WP\SETUP IF "%2" = "ACCNTS" THEN MAP G:=SYS:ACCNTS IF "%2" = "LOTUS" THEN MAP S16:=SYS:APPL\LOTUS SHIFT 1 IF "%2" <> " " THEN GOTO LOOP Имея в своем сценарии входа в систему приведенные выше команды, пользователь Craig может войти в сеть следующим образом. LOGIN FS1\CRAIG WP ACCNTS Элементам команды входа в сеть пользователя Craig присваи- ваются следующие значения: %0 = FS1 %1 = CRAIG %2 = WP %3 = ACCNTS Сценарий входа в систему пользователя Craig ищет "%2", ко- торым является WP, и устанавливает среду обработки текстов. Затем сценарий входа в систему сдвигает переменные на одну позицию вправо так, что "%2" сейчас становится ACCNTS. Вы- полняя цикл, сценарий входа в систему отображает накопитель на каталог ACCNTS. Пользователь Craig может изменить порядок аргументов в сво- ей команде входа в сеть и сделать следующее, не нарушая способ, которым устанавливается его рабочая среда. LOGIN CRAIG ACCNTS WP Элементам его команды входа в сеть присваиваются следующие значения: %0 = FS1 %1 = CRAIG %2 = ACCNTS %3 = WP В этом случае, сценарий входа в систему пользователя Craig ищет "%2", которым сейчас является ACCNTS. Сценарий входа в систему отображает накопитель на каталог ACCNTS. Затем сце- нарий входа в систему сдвигает переменные на одну позицию вправо так, что "%2" сейчас становится WP. Выполняя цикл, сценарий входа в систему устанавливает среду обработки текстов. WRITE __________________________________________________________________ Вы можете использовать команду WRITE для создания необходи- мых вам сообщений, выдаваемых на экран при входе в сеть. Формат команды WRITE "text" Как использовать WRITE После любой команды WRITE вы можете ввести отдельную коман- ду, несколько строк текста или идентификаторов, разделенных точкой с запятой (;). Каждое сообщение будет выводиться на ваш экран с новой строки, если вы не вставите точку с запя- той в конце командной строки WRITE. В таком случае несколь- ко команд WRITE будут генерировать отображение одной стро- ки. Строки текста должны быть заключены в кавычки (") и могут включать в себя следующие управляющие символы: \r возврат каретки \n перевод строки \" вставка кавычек \7 звуковой сигнал Составные строки Составные строки являются общей группой аргументов команды. Строкой является или заключенная в кавычки последователь- ность символов, или значение идентификатора (включая иден- тификаторные переменные, описанные на странице ...). Строки можно объединить в отдельную строку, используя следующие операторы, перечисленные в порядке убывания их приоритета: ; конкатенация * / % умножить, разделить, взять по модулю + - сложить, вычесть >> << сдвинуть (обрезать) вслево или вправо "1000" >> 3 становится "1" Идентификаторные переменные +---------------------------------------------------------+ | Идентификаторные | Изображение на экране | | переменные | | |---------------------------------------------------------| | УСЛОВНЫЕ | |---------------------------------------------------------| | | | | ACCESS_SERVER | Возвращает TRUE (истина),если| | | сервер доступа функционирует,| | | в противном случае - FALSE | | |(ложь) | |--------------------------+------------------------------| | ERROR_LEVEL | Номер ошибки, 0=нет ошибки | |--------------------------+------------------------------| | MEMBER OF "group" | Возвращается TRUE, если член | | | группы, в противном случае | | | - FALSE | |--------------------------+------------------------------| | ДАТА | |--------------------------+------------------------------| | DAY | Номер дня (01 - 31) | |--------------------------+------------------------------| | DAY_OF_WEEK | День недели (Monday - | | | понедельник, | | | (Tuesday - вторник и т.д.) | |--------------------------+------------------------------| | MONTH | Номер месяца (01 - 12) | |--------------------------+------------------------------| | MONTH_NAME | Имя месяца (January - | | | январь, June - июнь и т.д.)| |--------------------------|------------------------------| | NDAY_OF_WEEK | Номер дня недели (1 - 7, | | | воскресенье=1) | |--------------------------|------------------------------| | SHORT_YEAR | Год в сокращенном формате | | | (88, 89,...) | |--------------------------|------------------------------| | YEAR | Год в полном формате | | | (1988,1989) | |--------------------------+------------------------------| | СРЕДА DOS | |--------------------------+------------------------------| | < > | Используется любой перемен-| | | ной среды DOS как строка | |--------------------------+------------------------------| | СЕТЬ | |--------------------------+------------------------------| | NETWORK_ADRESS | Сетевой номер кабельной | | | системы | | | (8 шестнадцатиричных цифр) | |--------------------------+------------------------------| | FILE_SERVER | Имя файлового сервера | |--------------------------+------------------------------| | ВРЕМЯ | |--------------------------+------------------------------| | AM_PM | День или ночь (до полудня | | | или после полудня) | |--------------------------+------------------------------| | GREETING_TIME | Утро, день или вечер | |--------------------------+------------------------------| | HOUR | Час дня или ночи (1 - 12) | |--------------------------+------------------------------| | HOUR24 | Час (00 - 23, полночь = 00)| |--------------------------+------------------------------| | MINUTE | Минута (00 - 59) | |--------------------------+------------------------------| | SECOND | Секунда (00 - 59) | |--------------------------+------------------------------| | ПОЛЬЗОВАТЕЛИ | |--------------------------+------------------------------| | FULL_NAME | Полное имя пользователя (из| | | файла SYSCON) | |--------------------------+------------------------------| | LOGIN_NAME | Уникальное имя входа в | | | систему пользователя | |--------------------------+------------------------------| | USER_ID | Номер, назначенный для | | | каждого пользователя | |--------------------------+------------------------------| | РАБОЧАЯ СТАНЦИЯ | |--------------------------+------------------------------| | MACHINE | Машина, для которой была | | | написана оболочка, напр., | | | IBM PC | |--------------------------+------------------------------| | OS | Операционная система рабочей | | | станции, напр., MS DOS | |--------------------------+------------------------------| | OS_VERSION | Версия DOS на рабочей станции| |--------------------------+------------------------------| | P_STATION | Адрес станции или адрес узла | | | (12 шестнадцатиричных цифр | |--------------------------+------------------------------| | SMACHIINE | Сокращенное название машины, | | | напр., IBM | |--------------------------+------------------------------| | STATION | Номер соединения | +---------------------------------------------------------+ Идентификаторные переменные из приведенной выше таблицы мо- гут быть использованы с такими командами сценария входа в систему, как MAP, WRITE и IF ... THEN. Они также могут быть использованы с командами, для которых вы можете указать имя пути, например, COMSPEC. Во время интерпретации строки сценария вместо идентифика- торных переменных подставляются действительные значения. Значение любой переменной среды, устанавливаемое DOS, может быть доступно как идентификатор, если оно заключено в угло- вые скобки. Например, WRITE "my path is % " IF != ""WRITE "my include path is "; Идентификаторные переменные могут также вставляться внутрь текстовых строк команды WRITE, при этом имя идентификатора следует набирать буквами верхнего регистра и ставить перед ним знак процента (%). Например, две приводимые ниже строки будут выводить одну и ту же информацию: WRITE "Good";greeting_time;"John" WRITE "Good %GREETING_TIME,John" ____________________________________________________ Примечание: Переменные идентификаторы чрезвычайно полезны если вы намереваетесь использовать различные операционные системы персональных компьютеров на разных сетевых рабочих станциях одновременно. В зависимости от типа ОС вы соответственно можете установить отображения накопителей поиска и другие зависящие от ОС назначе- ния для используемой вами ОС при входе в сеть. Использование идентификаторных переменных может пре- доставить возможность для обработки различных ко- манд, разных для разных типов машин. Например, если вы используете PC-DOS версии 4.00, вы можете создать каталог SYS:PUBLIC/IBM_PC/PCDOS/4.00 и поместить в него копию соответствующего файла COMMAND.COM. Затем вы можете создать примерно такие же каталоги для каждой разновидности машин и опера- ционных систем. Если ваш сценарий входа в систему содержит приводимую ниже команду, вы получите доступ к нужной команде входа в сеть независимо от того, на каком компьютере вы выполняете команду LOGIN: MAP S2:=SYS.PUBLIC\%MACHINE\%OS\%OS_VERSION ___________________________________________________ Пример Предположим, сценарий входа в систему пользователя Bill содержит следующую команду WRITE: WRITE "Hello,";LOGIN_NAME WRITE "This is station";STATION При входе пользователя Bill в сеть со станции 16 на его экране будет отображаться следующее: +--------------------+ | Hello,Bill | | This is station 16 | +--------------------+ Ниже следуют три образца системных сценариев входа в систе- му. Они может быть дадут вам некоторые идеи для вашего собственного системного сценария входа в систему, или , возможно, вы приспособите их к вашей ситуации. Пример 1 MAP DISPLAY OFF MAP S1:=SYS:PUBLIC MAP S2:=SYS:PUBLIC/%MACHINE/%OS/%OS_VERSION MAP S3:=SYS:PUBLIC/APPLIC/WP MAP S4:=SYS:PUBLIC/APPLIC/DB MAP S5:=SYS:EMAIL/EXE MAP S6:=SYS:EMAIL MAP *1:=SYS:USER/%LOGIN_NAME MAP DISPLAY ON MAP WRITE WRITE WRITE "GOOD %GREETING_TIME, %LOGIN_NAME" REM IDENTIFIERS PLACED IN QUOTES MUST BE IN REM UPPER CASE WITH THE % PRECEDING THE REM IDENTIFIER WRITE WRITE INCLUDE SYS:PUBLIC\SCRIPTS PAUSE WRITE FDISPLAY SYS:SUPERVIS\MESSAGE FIRE 4 PAUSE PCCOMPATIBLE EXIT "EMAIL" Пример 2 Write "Good %GREETING_TIME, %LOGIN_NAME." MAP DISPLAY OFF MAP ERRORS OFF IF LOGIN_NAME <> "SUPERVISOR" THEN BEGIN MAP *1:=DC-2/SYS:HOME MAP *2:=DC-2/SYS:TRSH MAP *3:=DC-2/SYS:SYSTEM MAP *4:=DC-2/SYS:LOGIN MAP *5:=DC-2/SYS:PUBLIC END MAP S1:=DC-2/SYS:PUBLIC MAP S2:=DC-2/SYS:PUBLIC\%OS_VERSION\%MACHINE MAP S3:=DC-2/SYS:PUBLIC\TCP_OPT COMSPEC=S2:COMMAND.COM MAP DISPLAY ON MAP DOS SET USER=LOGIN_NAME write " " write "Чтобы ввести Меню служб поддержки, наберите SSMENU." write " " write "если вы хотите использовать шлюз TCP, выполните" write "NETBIOS перед вводом системы меню." Пример 3 MAP DISPLAY OFF MAP S1:=SERVER/SYS:PUBLIC S2:=S1:%MACHINE/%OS/%OS_VERSION COMSPEC=S2:COMMAND.COM MAP G:=SERVER/SYS:COMMON MAP S16:=SERVER/SYS:APPS/DATABASE MAP S16:=SERVER/SYS:APPS/SC4 MAP S16:=SERVER/SYS:APPS/EXE #CAPTURE NB NFF TI=30 DOS VEERIFY ON SET PROMPT = $P$G MAP F:=SERVER/VOL1:USER/%LOGIN_NAME IF MEMBER OF "ACCT" THEN BEGIN MAP INS S3:=SERVER/SYS:ACCTING END PCCOMPATIBLE EXIT "MENU DAILY" Команда EXIT в системном сценарии входа в систему отменяет необходимость обработки всех пользовательских сценариев. Ниже приведен образец пользовательского сценария входа в систему. Он может быть даст вам некоторые идеи для вашего собственного сценария входа в систему, или , возможно, вы приспособите его к вашей ситуации. Пример MAP G:=SYS:USER\KAREN\WORKSPAC MAP H:=SYS:USER\COMPANY\LETTERS #CAPTURE P=1 NB TI=10 NFF IF DAY_OF_WEEK = "FRIDAY"THEN BEGIN FIRE 9 WRITE "FRIDAY AGAIN, GENERATE REPORTS" MAP I:=SYS:APPLIC/DBB/REPGEN END SET PROMPT $P$G EXIT "GOMENU" REMARK GOMENU.BAT HAS MENU NAME