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