
                             Files Validator V2.5

                              by John Augustine

  FV (Files Validator) was created using Assembly for MS Dos systems.  FV
doesn't require much memory, and no "installation" is required.  FV does not
modify any of your files anywhere.

  Please read "IMPROVE.TXT" for information about latest improvements.

  PLEASE NOTE:

  Please see "CONCLUSION" near the end of this document for details on making
a small "donation" (greatly appreciated) and becoming a "donor".

  FV PURPOSE:

  FV was created for the purpose of checking all files (including system and
hidden files) in all directories for any change.  A change as small as 1 bit
(smallest fragment of a file) will be detected by FV.  Un-wanted changes could
be caused by a virus or corruption.  Normal file changes do occur (parameter
files, or files a user changes such as text, data, and source files).

  You can validate all the files in a drive, a specified directory, a
specified directory "tree" (structure), or a single file.

  PREPARATION:

  I recommend that you execute Dos's SCANDISK first.  It is important that you
are reasonably sure that all your files are free of corruption in order for
you to have a "clean" validation reference for the future.  If you have a
virus scanner, run that too.  If you get a new PC, it is highly recommended
that you create a reference file after everything is "set up".

  First, you must create "DIR_FILS.LST" (list of all files and directories)
using Dos's directory search command ("DIR/S/A *.*").  I have included,
"MAKELIST.BAT" for your convenience.  You can run that from any directory.

  IMPORTANT NOTE:

  Always run "MAKELIST.BAT", create a validation reference file, and validate
files, in Dos mode before Windows is launched.  See "READ-ME.TXT" for details.
NOTE: Windows changes many files during it's startup which will cause many
false reports.

  GETTING STARTED (after creating list, "DIR_FILS.LST" via "MAKELIST.BAT"):

  Type (without quotes) "F_VALID" and press Enter.

  Press C from the main menu to create the "VALIDx.REF" ("x" is a number)
file.  This may take several minutes, depending on how many files (and their
sizes) and your CPU speed.  Every file in your HD is read completely, in order
to  create the 32 bit "signature" and byte count (file length) for each file.
These "signatures" and byte counts are put into "VALIDx.REF".  If a reading
error occurs, you will be notified with the name of the file and it's path.
Files with errors will not go into the reference file.  Also, any files that
you move to another directory, deleted, or renamed after you made
"DIR_FILS.LST", will not be in the reference file.  FV will notify you with
the filename and path during the reference file creation.

  NOTE: After you create the validation reference file, you no longer need
"DIR_FILS.LST".  You can delete it, or you may want to use it for
"New or Missing" (see "OTH-PGMS.TXT").

  IMPORTANT NOTES:

  The reference file you create will have exactly the same time and date as
the "DIR_FILS.LST" file (new V1.6 feature).  This may be important especially
if you create a reference file a day or more after you created "DIR_FILS.LST".

  If you add files after you made the list (DIR_FILS.LST), those files will
not be in the validation reference file, since they are NOT in the list.  The
same thing applies to adding new directories and moving files.  Moving files
(to another directory) changes the path, which will be different than the path
in the list.  If you rename a directory after you make the list, all files in
that directory and sub-directories (plus files in sub-directories) will not be
in the validation reference file.  Files in a renamed directory or files that
are moved to another directory after the reference file was created will cause
missing file or path reports to appear during the validation process.
However, FV does not stop.  In the event of a "Missing Path", it looks for the
next path (skipping files of the "Missing Path") in the reference list, then
proceeds to evaluate those files in the next path.  FV will let you know that
a (name) path is missing.  I recommend that you keep a copy (backup) of
"VALIDx.REF" on a floppy.

  VALIDATE ALL FILES IN A DIRECTORY, DIRECTORY "TREE", or SINGLE FILE:

  Note: "Path" represents the location (\directory[\directory]) of files.

  With either option, you MUST enter the complete path starting with a back
slash (You will see a reminder when you select these options).  The reason
for this is to match the path pattern in "VALIDx.REF".

  To validate all files in a directory "tree" (parent directory, all files,
plus all sub-directories and files), put (without quotes) "\*" at the end of
the path (example: "\PROGRA~1\*").

  An option (V2.3 feature) is presented for the Directory or Directory "Tree"
functions that allows you to specify a different directory or parent (tree)
directory name.  This feature was added incase you renamed a directory after a
reference file was created, or duplicated a directory tree (ex. "WIN-BU" for
"WINDOWS").  First enter the name of the actual directory (or parent for tree)
you want to validate (tree ex. "\WIN-BU\*").  Next, you will be presented with
the option to enter the "relative" name that is in the "VALIDx.REF" file
(tree ex. "\WINDOWS\*").

  FV NOTES and INFORMATION:

  FV reports to you while it is operating, and (option) saves a copy of the
report to a file.  The report consists of the names of files that are
"unfound" (missing), have changed (signature or byte count doesn't match the
signature or byte count in the reference file), files with read errors,
missing path (usually caused when you remove or rename a directory), etc.
When about 20 lines are displayed on the screen, a pause will occur unless you
are creating a report file.

  FV does not check for changes in the time and date "stamp", since it isn't
part of the file.  However, if an actual file change is detected, then the
file's time and date is compared to the time and date in the reference file
(New V1.8 feature).  This process determines if the file is "corrupted".
NOTE: normally a change in a file is accompanied by a change in the time/date
"stamp".  When a file becomes corrupted, this does not occur.

  If you have a utility that allows you to change the time and/or date of a
file, FV will not detect that change as long as the file is actually the same.
Also, if you changed the attribute (not part of the file) of a file such as
changing a file to a hidden file, FV will not detect that change.  However,
FV will still perform a validation test on the file, hidden or not.

  "Signature" and Byte Count (Length of a File):

  A signature (enhanced in V2.5) and byte count for each file is created and
recorded in "VALID*.REF" for future reference.  That signature and byte count
is used for comparison to the signature and byte count created during the
Validation process. It is extremely sensitive. It can detect a change in one
bit, which is the smallest "fragment" of a file.

   Test the Changed File Detection Sensitivity Yourself:

  After creating a Reference file, edit a non important text file with an
ascii text editor. Look for a lower case letter h and change it to i.  There
is a one bit difference between the letter h and i (some other letters have a
one bit difference too, but not all letters). "h" is decimal number 104 and
"i" is 105.  In binary code "h" is 01101000 and "i" is 01101001.  Save that
text file and exit the editor.  "Validate" the directory with the edited text
file and see what happens.

  There is no harm done, as far as FV's operation, if you move, delete, rename
files or rename a directory, add files, add directories after you make the
validation reference file.  It is important for you to know that anything that
is not in the list or changed (moving files to another directory) after the
list was made, cannot be validated.  You will have to make a new list to
include those additions or changes.

  IMPORTANT NOTE:

  If you decide (after time) to make a new reference file because many changes
have been made, I suggest that you perform a SCANDISK first.

  Miscellaneous:

  If you use a text editor or viewer to see what the "VALIDx.REF" file looks
like after you create one,  you will notice that the lines are similar to the
original List.  However, every Line, with the name of a file, has the
signature and byte count installed (in binary) past the filename extension
position.  Once in awhile, one of those bytes can be the same number as a
carriage return (decimal 13) and will take effect making the line look as
though it has ended premature.  FV counts characters at file lines in order to
get past those bytes (signature and byte count) which could give a false end
of line.

  CONCLUSION:

  A one time donation (at least $5.00) will be greatly appreciated.  For your
donation, you will become a "donor".  Your name, etc. will be added to the
"donors" list.  As a "donor" (one time donation), you can select (ask for) one
or more programs to receive FREE such as "Tree Restore", etc.  See (use
"HELP.EXE") "OTH-PGMS.TXT" for information about other programs.  Please
include your e-mail address if you want one or more of the programs available
to "donors" only, and the name/s of the program/s.  I will tell you in the
email message about the attachment (programs.zip) so you know it is safe to
open.  As a "donor", you will be entitled to receive all improved and new
programs (at your request) developed in the future (sent to you by e-mail). As
a "donor", you may request (from time to time) the latest list of programs
from which you can select to receive FREE.  NOTE: You will not receive
anything from me via email unless you request it.

  If you know another shareware author with a better offer, please let me
know.

  The donation will motivate me to develop more programs and make improvements
in existing programs (add new features).

  Comments or complaints are always welcomed via email.  If you use "snail
mail" and expect a reply, please include a S.A.S.E.

  If you are overseas, the local bank charges a $10.00 service fee for checks
outside of U.S. I recommend that you send U.S. cash instead.

  Send $5.00 (or more) check, money order, or cash (put in foil for security)
to:

                     John Augustine N3AOF
                     3129 Earl St.
                     Laureldale, Pa 19605

            E-Mail:  jaugust@bellatlantic.net

