.;^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 - Verify 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^.




.
