Команды
Все команды являются зарезервированными словами; это означает, что нельзя объявлять переменные, имена которых совпадают с именами этих команд. Команды описаны в следующей таблице.
delay nСекунд | Пауза длительностью nСекунд перед выполнением следующей команды сценария | delay 2 ; пауза в 2 секунды
delay x * 3 ; пауза в x * 3 секунд | ||
getip значение | Ожидание получения IP-адреса от удаленного компьютера. Если поставщик услуг Интернета возвращает в строке несколько IP-адресов, используйте параметр значение для указания порядкового номера нужного IP-адреса. | ; получить второй IP-адрес
set ipaddr getip 2 ; присвоить переменной первый ; полученный IP-адрес szAddress = getip | ||
goto метка | Переход к строке сценария, помеченной меткой метка, и выполнение следующих за ней команд. | waitfor "Prompt:" until 10
if !$SUCCESS then goto BailOut ; переход на ;BailOut и выполнение ;следующих за ней команд endif transmit "bbs^M" goto End BailOut: transmit "^M" | ||
halt | Остановка выполнения сценария. Эта команда не закрывает окно терминала. Для подключения нужно будет нажать кнопку Продолжить. Повторно запустить сценарий нельзя. | |||
if условие then
команды
endif | Выполнение блока команд команды, если условие соблюдено (имеет значение TRUE). | if $USERID == "John" then
transmit "Johnny^M" endif | ||
метка: | Указание строки сценария, на которую может выполняться переход. Метка должна представлять собой уникальное имя и удовлетворять соглашению об именах переменных. | |||
set port databits 5 | 6 | 7 | 8 | Изменение числа битов в байтах, передаваемых и принимаемых во время сеанса. Число битов указывается в диапазоне от 5 до 8. Если эта команда в сценарии отсутствует, будет использоваться значение, заданное в параметрах данного подключения. | set port databits 7 | ||
set port parity none | odd | even | mark | space | Изменение схемы контроля четности для порта во время сеанса. Если эта команда в сценарии отсутствует, будет использоваться значение, заданное в параметрах данного подключения. | set port parity even | ||
set port stopbits 1 | 2 | Изменение числа стоповых битов для порта во время сеанса. Число стоповых битов может быть равно 1 или 2. Если эта команда в сценарии отсутствует, будет использоваться значение, заданное в параметрах данного подключения. | set port stopbits 2 | ||
set screen keyboard on | off | Разрешение или запрет ввода данных с клавиатуры в окно терминала во время работы сценария. | set screen keyboard on | ||
set ipaddr строка | IP-адрес рабочей станции для сеанса. Строка должна иметь формат IP-адреса. | szIPAddress = "10.0.0.0"
set ipaddr szIPAddress set ipaddr "10.0.0.0" set ipaddr getip | ||
transmit строка [ , raw ] | Отправка на удаленный компьютер символов, заданных параметром строка.
Удаленный компьютер будет распознавать управляющие последовательности и специальные символы, если команда выполняется без модификатора raw. Модификатор raw можно использовать для передачи системных переменных $USERID и $PASSWORD, если имена или пароли пользователей содержат последовательности символов, которые без модификатора raw будут интерпретироваться как управляющие последовательности или символы. | transmit "slip" + "^M"
transmit $USERID, raw | ||
waitfor строка [ , matchcase ] [ then метка { , строка [ , matchcase ] then метка } ] [ until время ] | Ожидание получения компьютером одной или нескольких указанных строк от удаленного компьютера. Регистр символов для параметра строка не учитывается, если не задан модификатор matchcase.
Если указанная строка получена и для нее задана конструкция then метка, то команда выполняет переход на строку файла сценария, обозначенную этой меткой. Необязательная конструкция until время задает максимальное время в секундах, в течение которого компьютер будет ожидать получения строки, прежде чем перейдет к следующей команде. Без этой конструкции время ожидания ограничено не будет. Если компьютер получает одну из указанных строк, для системной переменной $SUCCESS устанавливается значение TRUE. В противном случае она принимает значение FALSE по истечении числа секунд, заданных параметром время. |
waitfor "Login:"
waitfor "Password?", matchcase waitfor "prompt:" until 10 waitfor "Login:" then DoLogin, "Password:" then DoPassword, "BBS:" then DoBBS, "Other:" then DoOther until 10 | ||
while условие do
команды endwhile | Выполнение блока команд команды до тех пор, пока условие не перестанет соблюдаться (приняв значение FALSE) | integer count = 0
while count < 4 do transmit "^M" waitfor "Login:" until 10 if $SUCCESS then goto DoLogin endif count = count + 1 endwhile ... |
Сведения об автоматизации процесса входа в систему при удаленном доступе с помощью языка сценариев Windows 95 см. в разделе Автоматизация процесса входа в удаленную систему с помощью сценариев Windows. Сведения об активизации сценария входа в систему см. в разделе Чтобы активизировать сценарий входа в систему.
Каждая строка сценария является либо командой локального компьютера, предназначенной для удаленного компьютера, либо ответом удаленного компьютера. Каждая команда или ответ представляет собой поток данных или текста. Например, следующая команда отправляет удаленному компьютеру имя пользователя (Martha) и управляющий символ возврата каретки (макрос <cr>):
COMMAND=Martha<cr>
Команды и ответы должны располагаться в файле именно в том порядке, в котором их ожидает удаленный компьютер. Команды ветвления, такие как GOTO и IF, не поддерживаются.
Каждому конкретному удаленному устройству соответствует определенная последовательность команд и ответов, которая должна быть описана в документации устройства, а в случае подключения к коммерческой службе должна предоставляться отделом технической поддержки этой службы. Если точная последовательность неизвестна, активизируйте типовой сценарий, предоставляемый компонентом «Сетевые подключения», и измените его таким образом, чтобы он соответствовал последовательности входа для удаленного компьютера, как описано в разделе Устранение неполадок, связанных со сценариями удаленного входа.
Оператор COMMAND= можно использовать еще двумя способами.
COMMAND= NoResponse
Этот вариант применяется по умолчанию, он вызывает задержку примерно в две секунды. Такой способ используется в случае, когда промежуточному устройству необходима задержка.
COMMAND= строка
В этом случае за параметром строка не следует макрос возврата каретки (<cr>). Такой способ используется в случае, когда данные для устройства должны вводиться медленно. Устройство не принимает сразу всю строку команды, а требует, чтобы она передавалась по символам.
Следующий пример демонстрирует сценарий для промежуточного устройства, которое настолько медленно, что может принимать и обрабатывать за один прием только один символ команды PPP:
COMMAND=P NoResponse COMMAND=P NoResponse COMMAND=P NoResponse
Примечание
Сведения об активизации файла сценария см. в разделе Чтобы активизировать сценарий входа в систему.