Você está na página 1de 8

Linguagem de Comando para Script Dial-Up

para Suporte de Script de Rede Dial-Up


Copyright (c) 1995 Microsoft Corp.

Conteúdo

1.0 Visão Geral


2.0 Estrutura Básica de um Script
3.0 Variáveis
3.1 Variáveis de Sistema
4.0 Seqüências de Caracteres Literais
5.0 Expressões
6.0 Comentários
7.0 Palavras-chaves
8.0 Comandos
9.0 Palavras Reservadas

1.0 Visão Geral


Muitos fornecedores de serviços da Internet e serviços on-line exigem que você digite informações
manualmente, como seu nome de usuário e senha, para estabelecer uma conexão. Com "Suporte de Script
para Redes Dial-up", você pode escrever um script para automatizar este processo.

Um script é um arquivo texto que contém uma série de comandos, parâmetros e expressões exigidos pelo seu
fornecedor de serviço Internet ou serviço on-line para estabelecer a conexão e usar o serviço. Você pode usar
qualquer editor de texto, como o Microsoft Notepad, para criar um arquivo de script. Depois de ter criado seu
arquivo de script, você pode atribuí-lo para uma conexão específica de Rede Dial-Up executando a Ferramenta
de Script Dial-Up.

2.0 Estrutura Básica de um Script


Um comando é a instrução básica que um arquivo de script contém. Alguns comandos exigem parâmetros que
definem ainda mais o que os comandos executam. Uma expressão é uma combinação de operadores e
argumentos que criam um resultado. As expressões podem ser usadas como valores em qualquer comando.
Exemplo de expressões incluem aritméticas, comparações de relação e concatenação de seqüência de
caracteres.

A seguir apresentamos a forma básica de um script para Rede Dial-Up:

;
; A comment begins with a semi-colon and extends to
; the end of the line.
;

proc main
; A script can have any number of variables
; and commands

variable declarations

command block
endproc

Um script deve possuir um procedimento principal, especificado pela palavra-chave proc e uma palavra-chave
coincidente endproc, indicando o final do procedimento.

Você deve declarar variáveis antes de acrescentar comandos. O primeiro comando no procedimento principal é
executado e, em seguida, qualquer comando subseqüente é executado na ordem em que aparece no script. O
script finaliza quando o final do procedimento principal é alcançado.

3.0 Variáveis
Os scripts podem conter variáveis. Nomes de variáveis devem começar com um letra ou um sublinhado ('_') e
podem conter qualquer seqüência de letras maiúsculas ou minúsculas, dígitos e sublinhados. Você não pode
usar uma palavra reservada com um nome de variável. Para maiores informações, consulte a lista de palavras
reservadas no final deste documento.

Você deve declarar variáveis antes de usá-las. Ao declarar uma variável, você deve também definir seu tipo.
Uma variável de certo tipo contém somente valores daquele mesmo tipo. Os três tipos de variáveis a seguir são
suportados:

Tipo Descrição

inteiro Um número positivo ou negativo, como 7, -12 ou 5698.

seqüência de caracteres Uma série de caracteres dentro de aspas, por exemplo "Alô
pessoal!" ou "Digite a senha:"

booleano Um valor lógico booleano como VERDADEIRO ou


FALSO.

Variáveis são valores atribuídos usando a seguinte afirmação atribuída:

variável = expressão

A variável obtém a expressão estimada.

Exemplos:

integer count = 5
integer timeout = (4 * 3)
integer i

boolean bDone = FALSE

string szIP = (getip 2)

set ipaddr szIP

3.1 Variáveis de Sistema


Variáveis de sistema são definidas por comandos de script ou são determinadas por informações que você
digita ao definir uma conexão Rede Dial-Up. As variáveis de sistema são somente de leitura, o que significa que
não podem ser alteradas dentro do script. As variáveis de sistema são:

Nome Tipo Descrição

$USERID Seqüência A identificação do usuário para a conexão atual. Esta variável é


o valor do nome do usuário especificado na Rede Dial-Up.
Caixa de diálogo Conectar-se à.

$PASSWORD Seqüência A senha para a conexão atual. Esta variável é o


valor do nome do usuário especificado na Rede Dial-Up
Caixa de diálogo Conectar-se à.

$SUCCESS Booleano Esta variável é definida por certos comandos para


indicar se o comando teve êxito ou não. Um script pode efetuar
decisões baseadas nos valores desta variável.

$FAILURE Booleano Esta variável é definida por certos comandos para


indicar se o comando falhou ou não. Um script pode efetuar
decisões baseadas no valor desta variável.

Estas variáveis pode ser usadas em qualquer lugar onde uma expressão de um tipo semelhante é usada. Por
exemplo,

transmit $USERID

é um comando porque $USERID é uma variável de tipo seqüência de caracteres.

4.0 Seqüência de Caracteres Literais


Script para Rede Dial-Up suporta seqüências de escape e traduções do operador de intercalação, conforme
descrito a seguir.

Seqüência de Caracteres literal Descrição

^char Tradução do operador de intercalação

Se char é um valor entre '@' e '_', a seqüência de caractere é traduzida em um valor de


byte único entre 0 e 31. Por exemplo, ^M é convertido em um retorno de carro.

Se char é um valor entre a e z, a seqüência de caractere é traduzida em um valor de


byte único entre 1 e 26.

Se char é outro valor, a seqüência de caractere não recebe tratamento especial.

<cr> Retorno de carro


<lf> Alimentação de linha
\" Aspas
\^ Operador simples
\< '<' simples
\\ Barra invertida

Exemplos:

transmit "^M"
transmit "Joe^M"
transmit "<cr><lf>"
waitfor "<cr><lf>"

5.0 Expressões
Uma expressão é uma combinação de operadores e argumentos que estimam um resultado. Expressões
podem ser usadas como valores em qualquer comando.
Uma expressão pode combinar quaisquer valores de variável, ou inteiro, seqüência de caracteres ou booleano
com qualquer operador unário ou binário nas tabelas a seguir. Todos os operadores-unários aceitam a
precedência mais alta. A precedência de operadores binários é indicada pela sua posição na tabela.

Os operadores unários são:

Operador Tipo de Operação

- Unitário menos
! Complemento de um

Os operadores binários são listados na tabela a seguir na ordem de precedência:

Operadores Tipo de Operação Restrições-Tipo

* / Multiplicação Inteiros
+ - Aditivo Inteiros Seqüência de caracteres (+ somente)
< > <= >= Relacional Inteiros
== != Igualdade Inteiros, seqüênciad e caracteres, boleanos/
e Lógica E Booleanos

ou Lógica OU Booleanos

Exemplos:

count = 3 + 5 * 40
transmit "Hello" + " there"
delay 24 / (7 - 1)

6.0 Comentários
Todo o texto em uma linha seguido de um ponto e vírgula é ignorado.

Examplos:

; this is a comment

transmit "hello" ; transmit the string "hello"

7.0 Palavras-chaves
Palavras-chaves especificam a estrutura do script. Ao contrário dos comandos, elas não executam uma ação.
As palavras-chaves são listadas a seguir.

proc name

Indica o início de um procedimento. Todos os scripts devem ter um procedimento principal (proc main).
A execução do script inicia no procedimento principal e termina no final do procedimento principal.

endproc

Indica o final de um procedimento. Quando o script é executado para a afirmação endproc para o
procedimento principal, a Rede Dial-Up inicia PPP ou SLIP.

integer name [ = value ]

Declara uma variável de tipo inteiro. Você pode usar qualquer expressão numérica ou variável para
iniciar a variável.

string name [ = value ]


Declara uma variável do tipo seqüência de caracteres. Você pode usar qualquer seqüência de
caracteres literal ou variável para iniciar a variável.

boolean name [ = value ]

Declara uma variável do tipo booleano. Você pode usar qualquer expressão do tipo booleano ou
variável para iniciar a variável.

8.0 Comandos
Todos os comandos são palavras reservadas, o que significa que não podem declarar variáveis que possuem
os mesmos nomes como comandos. Os comandos são listados a seguir:

delay nSeconds

Pausa para o número de segundos especificado por nSeconds antes de executar o próximo comando
no script.

Exemplos:

delay 2 ; pauses for 2 seconds


delay x * 3 ; pauses for x * 3 seconds

getip value

Espera que um endereço IP seja recebido do computador remoto. Se o seu fornecedor de serviço
Internet retorna vários endereços de IP em uma seqüência de caracteres, use o parâmetro value para
especificar qual endereço de IP o script deve usar.

Exemplos:

; get the second IP address


set ipaddr getip 2

; assign the first received IP address to a variable


szAddress = getip

goto label

Vai para o local no script especificado pelo label e continua a executar os comandos que o seguem.

Exemplo:

waitfor "Prompt>" until 10


if !$SUCCESS then
goto BailOut ; jumps to BailOut and executes commands
; following it
endif

transmit "bbs^M"
goto End

BailOut:
transmit "^M"

halt
Interrompe o script. Este comando não remove a janela diálogo terminal. Você deve clicar em
"Continuar" para estabelecer a conexão. Você não pode reiniciar o script.

if condition then
comandos
endif

Executa a série de comandos se condition for VERDADEIRO.

Exemplo:

if $USERID == "John" then


transmit "Johnny^M"
endif

label :

Especifica o local no script para onde se deve saltar. Um label deve ser um nome exclusivo e seguir as
convenções de nomes de variáveis.

set port databits 5 | 6 | 7 | 8

Altera o número de bits que são transmitidos e recebidos durante a sessão. O número de bits pode ser
entre 5 e 8. Se você não incluir este comando, a Rede Dial-Up usará as definições de propriedades
especificadas para a conexão.

Exemplo:

set port databits 7

set port parity none | odd | even | mark | space

Altera o esquema de paridade para a porta durante a sessão. Se você não incluir este comando, a
Rede Dial-Up usará as definições de propriedades especificadas para a conexão.

Exemplo:

set port parity even

set port stopbits 1 | 2

Altera o número de parada de bits para a porta durante a sessão. Este número pode ser 1 ou 2. Se
você não incluir este comando, a Rede Dial-Up usa as definições de propriedades especificadas para a
conexão.

Exemplo:

set port stopbits 2

set screen keyboard on | off

Ativa ou desativa a entrada do teclado na janela terminal do script.


Exemplo:

set screen keyboard on

set ipaddr string

Especifica o endereço de IP da estação de trabalho para a sessão. String deve estar no formato de um
endereço de IP.

Exemplos:

szIPAddress = "11.543.23.13"
set ipaddr szIPAddress

set ipaddr "11.543.23.13"

set ipaddr getip

transmit string [ , raw ]

Envia os caracteres especificados por string para o computador remoto.

O computador remoto reconhecerá as seqüências de escape e traduções do operador de intercalação,


a menos que você inclua o parâmetro raw com o comando. O parâmetro raw é útil ao transmitir as
variáveis de sistema $USERID e $PASSWORD quando o nome ou senha do usuário possuir
seqüências de caracteres que, sem o parâmetro raw, seriam interpretados como operador de
intercalação ou seqüências de escape.

Exemplos:

transmit "slip" + "^M"


transmit $USERID, raw

waitfor string [ , matchcase ] [ then label


{ , string [ , matchcase ] then label } ]
[ until time ]

Aguarda até que seu computador receba uma ou mais das seqüências de caracteres especificadas
pelo computador remoto. O parâmetro string faz distinção entre letras maiúsculas e minúsculas, a
menos que você inclua o parâmetro matchcase.

Se uma seqüência de caracteres coincidentes for recebida e então o parâmetro label for usado, este
comando pulará para o local no arquivo de script designado por label.

O parâmetro opcional until time define o número máximo de segundos que seu computador aguardará
para receber a seqüência de caracteres antes de executar o próximo comando. Sem este parâmetro,
seu computador ficará aguardando para sempre.

Se seu computador recebe uma das seqüências de caracteres especificadas, a variável de sistema
$SUCCESS é definida como VERDADEIRA. Caso contrário, é definida como FALSA se o número de
segundos especificados por time expira antes que a seqüência de caracteres seja recebida.

Exemplos:

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 condition do
commands
endwhile

Executa a série de commands até condition ser FALSA.

Exemplo:

integer count = 0

while count < 4 do


transmit "^M"
waitfor "Login:" until 10
if $SUCCESS then
goto DoLogin
endif
count = count + 1
endwhile
...

9.0 Palavras Reservadas


As palavras a seguir são reservadas e não podem ser usadas como nomes de variáveis.

and boolean databits delay


do endif endproc endwhile
even FALSE getip goto
halt if integer ipaddr
keyboard mark matchcase none
odd off on or
parity port proc raw
screen set space stopbits
string then transmit TRUE
until waitfor while

Você também pode gostar