For Dial-Up Networking Scripting Support
Copyright (c) 1995 Microsoft Corp.
Table of Contents
1.0Overview
2.0Basic Structure of a Script
3.0Variables
3.

1System Variables
4.0String Literals
5.0Expressions
6.0Comments
7.

0Keywords
8.0Commands
9.0Reserved Words
1.0Overview
Many Internet service providers and online services require you to manually enter information, such as your user name and password, to establish a connection.

With Scripting support for Dial-Up Networking, you can write a script to automate this process.
A script is a text file that contains a series of commands, parameters, and expressions required by your Internet service provider or online service to establish the connection and use the service. You can use any text editor, such as Microsoft Notepad, to create a script file. Once you've created your script file, you can then assign it to a specific Dial-Up Networking connection by running the Dial-Up Scripting Tool.
2.0Basic Structure of a Script
A command is the basic instruction that a script file contains.

Some commands require parameters that further define what the command should do. An expression is a combination of operators and arguments that create a result. Expressions can be used as values in any command. Examples of expressions include arithmetic, relational comparisons, and string concatenations.


The basic form of a script for Dial-Up Networking follows:
;
; 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
A script must have a main procedure, specified by the proc keyword, and a matching endproc keyword, indicating the end of the procedure.
You must declare variables before you add commands. The first command in the main procedure is executed, and then any subsequent commands are executed in the order they appear in the script. The script ends when the end of the main procedure is reached.
3.

0Variables
Scripts may contain variables. Variable names must begin with a letter or an underscore ('_'), and may contain any sequence of upper- or lower-case letters, digits, and underscores. You cannot use a reserved word as a variable name. For more information, see the list of reserved words at the end of this document.
You must declare variables before you use them. When you declare a variable, you must also define its type.

A variable of a certain type may only contain values of that same type. The following three types of variables are supported:
TypeDescription
integerA negative or positive number, such as 7, -12, or 5698.
stringA series of characters enclosed in double-quotes; for example, "Hello world!" or "Enter password:".
booleanA logical boolean value of TRUE or FALSE.
Variables are assigned values using the following assignment statement:
variable = expression
The variable gets the evaluated expression.
Examples:
integer count = 5
integer timeout = (4 * 3)
integer i
boolean bDone = FALSE
string szIP = (getip 2)
set ipaddr szIP
3.

1System Variables
System variables are set by scripting commands or are determined by the information your enter when you set up a Dial-Up Networking connection. System variables are read-only, which means they cannot be changed within the script. The system variables are:
NameTypeDescription
$USERIDStringThe user identification for the current connection. This variable is
the value of the user name specified in the Dial-Up Networking
Connect To dialog box.
$PASSWORDStringThe password for the current connection.

This variable is the
value of the user name specified in the Dial-Up Networking
Connect To dialog box.
$SUCCESSBooleanThis variable is set by certain commands to indicate whether or not the command succeeded. A script can make
decisions based upon the value of this variable.
$FAILUREBooleanThis variable is set by certain commands to indicate
whether or not the command failed. A script can make decisions
based upon the value of this variable.
These variables may be used wherever an expression of a similar type is used.

For example,
transmit $USERID
is a valid command because $USERID is a variable of type string.
4.0String Literals
Scripting for Dial-Up Networking supports escape sequences and caret translations, as described below.
String LiteralDescription
^charCaret translation
If char is a value between '@' and '_', the character sequence is translated into a single-byte value between 0 and 31.

For example, ^M is converted to a carriage return.
If char is a value between a and z, the character sequence is translated into a single-byte value between 1 and 26.
If char is any other value, the character sequence is not specially treated.
Carriage return
Linefeed
"Double-quote
^Single caret