;^VER^ify a ^DIR^ectory in style!
^%                                   VERDIR                                  %^
%                             James A. Jarboe IV                            %

 ^VERDIR^ will verify a ^M^aster ^D^irectory ^L^isting.  It will compare the files
 on  disk  with  a directory file created with the ^DIR^/^V^/^H^/^D^ switches,  or
 with ^MAKMDL.LIT^  (available  on  the  AMUS Network) to make sure that the
 files on your system are correct. ^VERDIR^ can verify any directory listing
 that contains a file specification, hash  totals  and/or  version number.
 ^VERDIR^ will also verify ^d^/^SOFT^ style directory listings.

 ^VERDIR^  will normally default to the currently ^logged^ in ^device^ and ^drive^
 specification   to  verify  files, rather than using the ^device^ and ^drive^
 specification in the ^.DIR^ file  as  VERIFY  does.   Optionally, using the
 ^/ON:^ switch, ^VERDIR^ can verify files on an alternate device or CPU.

 If requested, ^VERDIR^ will also output  to  a  file all the file ^names^ and
 file ^P,PN^'s that did ^NOT^ verify, with the option of adding a ^command^ line
 statement before the ^NON-verified^ file names. This  provides  a method of
 creating  a  listing  or a command file that will assist in updating  the
 non-verified files.

 ^VERDIR^  can  also verify ^wildcarded^ or multiple  directory  listings  and
 output the results of each ^MDL^ to an output file with notations.
    ^% VERDIR - Verify Directory for Updates %^            Screen 2 of 18

R 0
 %USAGE:
R %

  ^VERDIR {Output filespec =} Input filespec{/Switches},Input filespec^

% Where: %

^Output filespec^   Optional  name of file that ^Non-verified^ file names will
                  be output to. Most likely an ^AMOS^ command or Do file, or
                  ^AUTLOG.AGO^ file or a ^TALKTO.TLK^.  Defaults to ^VERDIR.LST^
                  if just the "^=^" is used and no output filespec is given.
                  Extension defaults to ^.LST^  if a file name is given with
                  no file extension.

^Input filespec^    Name   of  Directory  file to ^verify^.  File may be a ^MDL^
                  format file, created by ^DIR^ with the /^V^/^H^/^D^ switches, or
                  any file that contains a full file  specification,  hash
                  number  and/or version number. Input file specifications
                  can be ^wildcarded^. (Defaults to filename^.DIR^).



    ^% VERDIR - Verify Directory for Updates %^            Screen 3 of 18

% Switches: %

 /^HELP^ or ^?^       Displays the switch options and if a ^.HLP^ file exists in
                  the  same  ^PPN^ or in the ^HLP:^ account, the user will  be
                  prompted to display the additional help information.

 /^TRACE^           Will set  a  ^:T^  at  the top of the output file. Usually
                  this is used when creating an output file that  is to be
                  used as a command file. This sets ^TRACE^ mode on.  ^VERDIR^
                  automatically  defaults  to a ^:R^ when an output file  is
                  created. ^TRACE^ sets this to ^:T^.

 /^LINE:"^command^"^     Allows  user  to  designate a ^command^ statement to be
                     included   in  output  file  before each non-verified
                     file name.
                     Example:
                          ^/L:"^COPY DSK0:[]=NEW0:^"^
                          ^/L:"^RECEIVE  ^"^
                          ^/L:"^DGET ^"^


    ^% VERDIR - Verify Directory for Updates %^            Screen 4 of 18

 /^BRIEF^           This will  output a ^brief^ reason of why the file did not
                  verify to the output file. This  ^brief^ statement will be
                  preceeded with a ^;^ character so that the ^reason^ will not
                  be  processed if the output file is  to  be  used  as  a
                  command or do file. This a default switch.

 /^FULL^            This will output a  ^full^  reason of why the file did not
                  verify, to the output file. This ^full^ statement  will be
                  on   the  line  following  the  file  specification  and
                  contains  the  ^reason^  why  the file did not verify, and
                  either the hash or version number  of  the file that was
                  being verified and the hash or version number  that  did
                  not match. The ^full^ statement will be preceeded  with  a
                  ^;^  character so that the ^reason^ will not be processed if
                  the output file is to be used as a command or do file.

 /^WAIT^            Will wait for a file locked by LOKSER to become unlocked
                  before  attempting verification. If the ^NO^WAIT switch is
                  set and a  file  is  locked by LOKSER, ^VERDIR^ will alert
                  the  user  and bypass verification  of  this  file.  The
                  output file will contained a "File in use" message.
    ^% VERDIR - Verify Directory for Updates %^            Screen 5 of 18


 /^ON:"^device^"^     ^VERDIR^  normally  defaults  to  the  currently logged in
                  device to verify the ^MDL^ listing. This means that if the
                  file specification in the ^MDL^ is ^REL0:^ and the logged in
                  device is ^DSK0:^ the files on ^DSK0:^ will be verified even
                  though  the ^MDL^ has a ^REL0:^ as the device specification.
                  The ^ON:"^device^"^ switch enables ^VERDIR^ to verify files on
                  a specified device specification  rather than the logged
                  in device. This also includes ^CPU^ specifications.
                  Example:
                 /^ON:"^DSK2:^"^
                 /^ON:"^16842753-DSK3:^"^
                 /^ON:"^CPU2:DSK14:^"^

 /^KILL^            Will ^delete^ the output file if it already exists.

 /^SILENT^          Silence all terminal display except  for errors. So that
                  ^VERDIR^  will  display during such programs as ^AUTLOG^ and
                  not require operator  assistance,  ^VERDIR^  turns off the
                  command ^:S^ mode when entering ^VERDIR^ and turns  ^:S^  back
                  on  when exiting ^VERDIR^ if ^VERDIR^ was run from a command
    ^% VERDIR - Verify Directory for Updates %^            Screen 6 of 18

                  file with ^:S^ set. Using the /^S^ command will suppress all
                  display  as  if ^:S^ was set. Program errors will still be
                  displayed.

 /^PPN^             Normally,  ^VERDIR^  uses  the  ^PPN^ specification  in  the
                  directory  listing to verify files. This is the default.
                  Using  /^NOPPN^   enables   ^VERDIR^  to  ^not^  use  the  PPN
                  specification in the directory  listing  but  to use the
                  currently  logged in ^PPN^. If the /^NOPPN^ switch  is  used
                  and an output  file is designated, the PPN specification
                  will ^not^ be output  to  the  file.  This way a directory
                  listing can be produced on one PPN and  verified against
                  files  in  a  logged  on  PPN even though the  directory
                  listing  has specified PPN location.  See  examples  for
                  explicit use of the /^NOPPN^ switch.

 /^NO^switch        ^VERDIR^ uses CMDLIN.SYS for wildcarding. Using the prefix
                  ^NO^, with  any  switch,  will  negate  the  action of the
                  specified switch.


    ^% VERDIR - Verify Directory for Updates %^            Screen 7 of 18

 New software or software updates are usually provided with  a ^Filename.DIR^
 file located in PPN ^[1,2]^. This  directory listing, created  with the ^AMOS^
 command ^DIR filename.dir=*.*[]/V/H/D^, is usually provided with software as
 a method of checking  files with the ^AMOS^ command VERIFY to make sure that
 it was all transferred correctly.

 ^VERDIR^ verifies files much like the ^AMOS^ command VERIFY except that ^VERDIR^
 uses   the   ^logged   in   device  specification^  instead  of  the  device
 specification designated in the ^filename.DIR^ listing.

 This enables the copying of new or update software or files  to  a  device
 ^different^ than the specified target device and verifying those files  with
 the  ^filename.DIR^  provided with the software without having to modify the
 directory listing by globally changing the device specification.

 For example, copying the new ^AMOS^ software to  a  device  named ^NEW0:^, the
 ^AMOS.DIR^ copied to ^NEW0:^ would contain the following:

 ^DSK0:AMOS.LIT[1,4]      1.0A(105)        623-425-561-565^
 ^DSK0:AMSORT.SYS[1,4]                     565-625-646-203^
 ^DSK0:AM334.LIT[1,4]     1.0(100)         030-306-450-155^
    ^% VERDIR - Verify Directory for Updates %^            Screen 8 of 18

 ^DSK0:APPEND.LIT[1,4]    1.0              033-302-147-712^
 ^(Etc.)^

 The ^AMOS^ command VERIFY would attempt to verify the files on ^DSK0:^ instead
 of the software on ^NEW0:^, because  VERIFY uses the full file specification
 in the .DIR file and you would get "file not found" errors.

 If  logged  into  ^NEW0:[1,2]^ , ^VERDIR^ will use the ^AMOS.DIR^ on  ^NEW0:^  and
 verify the files on  ^NEW0:^  even though the ^device^ and ^drive^ specification
 in ^AMOS.DIR^ is ^DSK0:^.

% EXAMPLE: %

    Log to ^NEW0:[1,2]^

    ^VERDIR UPDATE.CMD=AMOS.DIR^

 ^VERDIR^ will use the ^logged in device^ to verify  the files on ^NEW0:^ instead
 of the device ^DSK0:^ in the designated directory listing.  If  a  file does
 ^not^  verify,  the  file name will be output to ^UPDATE.CMD^ file. Output  of
 ^UPDATE.CMD^ follows.
    ^% VERDIR - Verify Directory for Updates %^            Screen 9 of 18


^;*; Created on Friday, May 24, 1991 at 01:04:27 PM by James A. Jarboe I V^
^;*; On Educational Video Network, Inc. AMOS/L Version 1.3D(165)-3^
^;*; Files on NEW0: verified from NEW0:AMOS.DIR[1,2].^
^;^
^:R^
^SYSACT.LIT[1,4]                        ;  Version Mismatch^
^VERDIR.LIT[1,4]                        ;  Hash Mismatch^
^AMOSL.MON[1,4]                         ;  File not found^
^; ^











    ^% VERDIR - Verify Directory for Updates %^           Screen 10 of 18

% EXAMPLE: %

    Log to ^DSK0:[1,2]^

    ^VERDIR UPDATE.CMD=NEW0:AMOS.DIR/L:"COPY DSK0:[]=NEW0:"/FULL^

 ^VERDIR^ will use the directory listing on ^NEW0:^  to  verify  the  files  on
 ^DSK0:^  because  the  user is logged on to ^DSK0:^. The  file ^UPDATE.CMD^ will
 contain the command ^COPY DSK0:[]=NEW0:^ before each file name on ^DSK0:^ that
 did not verify and will output a ^FULL^ reason why the file did not verify.

 Sample of ^UPDATE.CMD^ follows:









    ^% VERDIR - Verify Directory for Updates %^           Screen 11 of 18


^;*; Created on Friday, May 24, 1991 at 01:12:39 AM by James A. Jarboe I V^
^;*; On Educational Video Network, Inc. AMOS/L Version 1.3D(165)-3^
^;*; Files on DSK0: verified from NEW0:AMOS.DIR[1,2].^
^;^
^:R^
^COPY DSK0:[]=NEW0:AMOS.LIT[1,4]^
^;  Hash Mismatch    - MDL is 002-456-158-556    DISK file is 623-425-561-565^
^;^
^COPY DSK0:[]=NEW0:CMDLIN.SYS[1,4]^
^;  Version Mismatch - MDL is 1.0(112)    DISK file is 1.0(109)^
^;^
^COPY DSK0:[]=NEW0:AM65.TDV[1,6]^
^;  File not found^
^;^
^; ^





    ^% VERDIR - Verify Directory for Updates %^           Screen 12 of 18

% EXAMPLE: %

    Log to ^NSP0:[1,2]^

 Dial up your dealer's update software  system.  Transfer  ^ESP.DIR^ from the
 update system using ^AUTLOG^, to the logged in disk ^NSP0:[1,2]^.

    ^VERDIR UPDATE.AGO=ESP.DIR/L:"RECEIVE "^

 Even though the ^ESP.DIR^ contains the following:

    ^DSK0:DMPUSR.BAS[7,32]                     515-711-413-701^
    ^DSK0:ISMROK.BAS[7,32]                     674-123-400-307^
    ^DSK0:SAMPLE.BAS[7,32]                     400-123-760-063^
    ^(Etc.)^

 ^VERDIR^ will verify the files on ^NSP0:^ and output:

    ^RECEIVE filename.ext[p,pn]^

 for any file not verified on ^NSP0:^ to the file ^UPDATE.AGO^.
    ^% VERDIR - Verify Directory for Updates %^           Screen 13 of 18

 Tell ^AUTLOG^ to  ^GO  UPDATE^ and ^AUTLOG^ will receive all the files that need
 to be updated on your system,  by  using  the  file ^UPDATE.AGO^ that ^VERDIR^
 created. This can be done with ^TALKTO^ or any other  communication  program
 by using the correct communication commands.


% EXAMPLE: %

 Log to ^NSP0:[1,2]^

    ^VERDIR ESP.DIR^

 ^VERDIR^  will verify the files on ^NSP0:^ against  ^ESP.DIR^  even  though  the
 ^device^ and  ^drive^ specification in ^ESP.DIR^ is ^DSK0:^. All ^non-verified^ file
 names will be reported  on  terminal  display  and will ^not^ be output to a
 file since ^no^ output file request was given on the command line.





    ^% VERDIR - Verify Directory for Updates %^           Screen 14 of 18

% EXAMPLE: %

 Log to ^DSK15:[140,75]^
 ^COPY =SYS:*.LIT^

 ^VERDIR WHY.CMD=DSK0:AMOS.DIR[1,2]/NOPPN/L:"COPY =DSK0:[1,4]"/FULL^

 With  these  switch   option,   ^VERDIR^   will   verify  all  the  files  on
 ^DSK15:[140,75]^ with the directory listing ^DSK0:AMOS.DIR[1,2]^. The ^AMOS.DIR^
 directory  listing  contains  Device  and PPN specifications.  The  /^NOPPN^
 switch  informs  ^VERDIR^ not use the PPN  specification  in  the  directory
 listing, but to use  the  logged in PPN specification. This way if release
 files are intended to be on  a specific PPN, but you decide to locate them
 in a different PPN you do not  need to globally change that information in
 the directory listing.  Any files  ^not verified^ will be output to the file
 ^WHY.CMD^ and will have the command  statement and full reason why the files
 did not verify. An example of ^WHY.CMD^ with non verified  files, follows:




    ^% VERDIR - Verify Directory for Updates %^           Screen 15 of 18


^;*; Created on Friday, May 24, 1991 at 12:51:14 AM by James A. Jarboe I V^
^;*; On Educational Video Network, Inc. AMOS/L Version 1.3D(165)-3^
^;*; Files on DSK15:[140,75] verified from DSK0:AMOS.DIR[1,2].^
^;^
^:R^
^COPY =DSK0:[1,4]MAKMDL.LIT^
^;  Version Mismatch - MDL is 254.14N(4095)-12    DISK file is 254.14N(4095)-14^
^;^
^COPY =DSK0:[1,4]VERDIR.LIT^
^;  Hash Mismatch    - MDL is 233-414-152-302    DISK file is 263-414-152-302^
^;^
^COPY =DSK0:[1,4]SETCMD.LIT^
^;  File not found^
^;^
^; ^





    ^% VERDIR - Verify Directory for Updates %^           Screen 16 of 18

% Characteristics and advantages %

^o^    ^VERDIR^ will ^normally^ use the ^logged in device^ and  ^drive^ specification
    to   verify   a   directory  no  matter  what  the  device  and  drive
    specification is in  the  ^filename.DIR.^  unless a designated device is
    specified using the /^ON:^ switch or the /^NOPPN^ switch.

^o^    Output file  defaults  to  ^VERDIR.LST^ if ^=^ is used with no output file
    specification.

^o^    Input file defaults to ^.DIR^ file extension.

^o^    If all files verify, the output file will  ^not^ be created if an output
    file has been requested.

^o^    Can verify multiple directory listings at one  time  as input filespec
    can contain wildcards or multiple directory specifications.

^o^    Can verify directory listings across ^Networks^.


    ^% VERDIR - Verify Directory for Updates %^           Screen 17 of 18

^o^    Terminal output display is much prettier than VERIFY.

^o^    Output file always includes time and  date  stamps,  name  of user who
    created  the  output  file,  (if  user name is set) current system and
    version and the name of the file that files where verified against.

^o^    If the system contains SYSNAM.DAT  in  DSK0:[1,4], that data will also
    be included in the output file.

^o^    Works on all versions of AMOS.











    ^% VERDIR - Ve
rify Directory for Updates %^           Screen 18 of 18

    To convert this to an ^AMOS^ style help file use ^DSH2AM.LIT^
    available on the AMUS Network.

    Any ^comments^, ^suggestions^, for ^VERDIR^ should be made to:

    ^James A. Jarboe IV^
    Educational Video Network, Inc.
    1401 19th Street
    Huntsville, Texas 77340

    (^409^)^295^-^5767^

    Send Email to ^GR^/^AM^ on the ^AMUS Network^.