_____________________________
              /                             \
              |       Inside Vax/Vms        |
              |   Using Command Procedures  |
              |                             |
              |            By               |
              |       Master Blaster        |
              \_____________________________/
              Advanced Telecommunications Inc.

Note: The following is geared for the more advanvced hacker.

     Part 1: Using Command Procedures.
             ----- ------- ----------
     You  can  use  command procedures to automate  sequences  of
commands that you use quite often.  For example,  if you  always
use  the  DIRECTORY command after you move to  a  Sub-Directory
where  work  files  are  kept,  you can write  a  simple  command
procedure to issue the SET DEFAULT and DIRECTORY commands for you.
the following example, GO_DIR.COM, contains two commands:
$ Set Default [perry.accounts]
$ directory
Instead of using each command alone,  you can execute  GO_DIR.COM
with the @ command:
$ @Go_Dir

this  command tells the DCL command interpreter to read the  file
GO_DIR.COM and executes the commands in the file.   So the command
interpreter  sets  your  default  directory  to[PERRY.ACCOUNTS]  and
issues the DIRECTORY command.

note: DCL means Digital Command Language. (sorry)

Formatting Command Procedures
---------- ------- ----------
    Use  the  DCL command CREATE to create and format a  command
procedure.   When you name the command procedure,  use the default
file type COM. If you use this default, you don't have to use the
file type when you execute the procedure with the @ command.
Command  procedures  contain DCL commands that you want  the  DCL
command  intepreter  to execute and data lines that are  used  by
these commands.  Commands must begin with a dollar sign.  You can
start the command string just  after the dollar sign.
Data lines do not start with a dollar sign.  Data lines are  used
as  input  data for commands.   Data lines are used by  the  most
recently issued command.

the  following  example shows command and data lines in a  command
rocedure.
$ mail
SEND
THOMAS
MY MEMO
did you get my memo?

 Show users thomas
The first line is a command and must start with a "$".   The next
lines  are data lines that are used by the mail  function;  these
lines must not start with "$".

Using Multiple Lines for One Command
----- -------- ----- --- --- -------

    If  you are writing a command that includes many  qua|ifers,
ou  can make the command procedure more readable by |isting  the
qualifers on seperate lines rather than running them  together.  To
do this, use the hyphen as a continuation character.  Don't start
the continued line with "$". For example:
$ print test.out -
          /after=18:00 -
         /copies=10 -
         /queue=lpb0:

Executing Command Procedures
-------- ------- ----------
    You can execute command procedures in two modes: interactive
and batch.   In  interactive mode,  the commands in the  command
procedure are executing as if you were typing them.   You  cannot
execute  any other commands from your computer.   In batch  mode,
the   system  creates  a  seprate  process  to  run  the  command
procedure.   After  you use a batch job you  can continue to  use
the system while it executes.

Executing Command Procedures Interactively
-------- -------- ---------- -------------
     To  execute a command procedure interactively,  type the "@"
command followed by the file specifications.  If you don't enter
the entire command specification, the system will use the current
disk, directory, and file default.

Changing Command Levels
-------- ------- ------
     A  command  level  is the DCL level  from  which  you  issue
commands.   When  you log in and type commands at your  Computer,
you  are issuing commands at your level zero.   If you execute  a
procedure,  the commands in the procedure are executed at command
level  1.   When the procedure ends and the DCL prompt is on your
screen, you are back at levil zero.

A System Login File
- ------ ----- ----
     If  a system login fi|e exists,  it is executed  before  the
personal  file.   When  the system login file  ends,  control  is
passed to the personal login file.  System and group login files
allow  a  system manager to make sure certian files are  executed
when a person logs in.
To make a system login file, you have to have a managers account,
you use the name SYS$SYLOGIN to make the login file.

Personal Login Files
------- ----- -----
    After  executing a system or group login  file,  the  system
executes  a  personal login file.   Use a personal login file  to
execute  gommands  that  you  want to  that  you  want  to  issue
everytime you login.  Name the login command procedure LOGIN.COM
and put it in the default login directory.

Defining Parameters or Qualifers
--------- ---------- -- ---------
     You  can  create  a command procedure  that  specifies  only
parameters and(or)  qualifers and then use the command  procedure
then a DCL command string.   This type of command procedure  is
useful  when there is a set of parameters or qualifiers that  you
requently use with one or more particular commands.   To execute
the command string where you would normally use the qualifiers or
parameters.
For  example:  You could greate a command procedure that contains
these qualifiers.
/DEBUG/SYMBOL_TABLE/MAP/FULL/CROSS_REFERENCE

To  use this command procedure,  execute it on the  command  line
where you would otherwise place qualifiers.   For example, if you
name  the  command  procedure  DEFLINK.COM,  you  would  use  the
following   command  line  to  link  to  an  object  module  name
SYNAPSE.OBJ with the qualifiers that you specified in the  command
procedure:
$ LINK SYNAPSE@DEFLINK

The  next  example shows a command procedure named PARM.COM  that
contains parameters:
CHAP1, CHAP2
To execute the procedure, use it in a command string in place of a
parameter name:
$ DIRECTORY @PARAM

As  the others in this set are completed, they should stay in  a
group.
________________________________________________
                                                \
H)ackRite 1986 - Advanced Telecommunications Inc.
________________________________________________/