ЭЛЕКТРОННАЯ БИБЛИОТЕКА КОАПП
Сборники Художественной, Технической, Справочной, Английской, Нормативной, Исторической, и др. литературы.


подставки для дисков

 

Часть 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



?????? ???????????