FILIR.DOC Page 1
FILIR v1.1 File List Reconciliation
November 16, 1988
(c)1988 Eric T. Burleyson
FILIR is free! Lord knows that I've gotten an awful lot of
productive use out of free software, and it only seems right
that I should return the favor. If you feel you must pay for
it (yeh, sure) then why not register one of those shareware
packages (e.g., LIST, PKARC, QEDIT) that you use all the time?
I, of course, cannot be held responsible or liable for any
direct, indirect, or perceived damages that result from the
use of this program or the use of any of the information
that comes with it. (I wonder if any of these silly little
disclaimers would really hold up in a court of law? I doubt
it. Oh well, I guess it's cheap insurance!).
This document assumes a working knowledge of MS-DOS, a valid
assumption, I think, since the odds are that you are a
sysop, and sysops always end up as MS-DOS experts, like it
Nobody's perfect! If you find a bug, er, undocumented
feature, please contact me by mail or on my BBS, but be
aware that I regretably do not expect my BBS to survive very
far into 1989.
Eric Burleyson That Programming Place
9409 52nd Avenue 301-731-6919, 1200 bps
College Park, Md. 20740 Lanham, Md. (metro DC)
FILIR.DOC Page 2
Motivation and Background
FILIR is a program I wrote to help me reconcile my BBS file
lists. FILIR compares the list of files that I keep for my
BBS versus the files that actually exist on the disk. You
see, my BBS runs on a lowly XT clone, and I am constantly
running out of disk space, so I end up shuffling my files
around quite a bit. It is not at all uncommon for me to get
confused as to exactly what files I have left on the disk
and what files I haven't. I looked around the BBS's for
awhile looking for a utility to help me, but couldn't find
what I wanted. Hence FILIR. While I was at it, I threw in a
few goodies such as the ability to produce a colorized file
list, and I added the DATE2 field so I could keep track of
both the date of the files and the date they were uploaded
to my BBS.
FILIR was written to work with the Phoenix BBS system
(PHOENIX R.C.S. version 1.06 copyright (C) 1987, 1988 by The
GeneSys Project), but it should work with PCBOARD or other
BBS systems that use standard ASCII file lists. (See file
format section later in this document). In any event you
will need to rename FILIR's output files to make your BBS
system happy. FILIR can also be used by non-sysops to create
a sorted list of all files in a given directory.
You need to be running MS-DOS v2.1 or higher.
The amount of memory needed is dependent on the number of
files FILIR has to process. No particular attempt was made
in this version to make effective use of memory, but FILIR
was designed to at least gracefully exit if either memory or
disk space gives up the ghost.
I assumed that FILIR would be run on hard disk systems, but
I don't see any reason why it won't run on a floppy.
Since the user interface is just the plain vanilla command
line, there are no specific video requirements.
FILIR may open up to four (4) files concurrently. Set the
FILES=xx statement on your CONFIG.SYS file accordingly (I
always keep mine at FILES=25 and have no problems with any
FILIR.DOC Page 3
Examples can be found in the next couple of pages.
Syntax: FILIR dirfile [options]
where dirfile is the file name of your file list (or 'NUL')
Options: (defaults are shown in CAPS; details on next page)
inmask= full path\mask to search (defaults to '*.*')
outpath= path for output files (defaults to current dir)
mindate= mm-dd-yy (date gets changed to this if it is lower)
Unknown options and values are ignored with a warning. If
an option appears more than once, the last value is used.
FILIROUT.YES listed files that exist
FILIROUT.NOF listed files that were not found
FILIROUT.NOL found files that were not listed
FILIROUT.DUP files listed more than once
FILIROUT.ANS same as FILIROUT.YES but with ANSI color
These files are all sorted by file name. Each time you run
FILIR, all of these files get deleted if they already
exist. Only the files that are needed are then created
(e.g., if you had no duplicate entries FILIROUT.DUP would
not be created.)
All console output (messages, warnings, and errors) is
redirectable with standard MS-DOS pipes and filters.
FILIR.DOC Page 4
Parameters in more detail
DIRFILE (required) -- you specify the file that contains the
list of files (format on next page). This can include drive
and path. If you specify a file that doesn't exist, FILIR
will use it anyway and simply report that no files were
All options are specified in the form OPTION=VALUE, with no
imbedded spaces, and no leading switch character. Uppper and
lower case may be freely mixed.
INMASK option -- you specify the file mask for the search.
This mask can include drive, path, and wildcards. If you
include an invalid path, FILIR will use it anyway and simply
report that no files were found. The default all files in
the current directory.
OUTPATH option -- you specify the path where you want the
output files placed. If you give an invalid path, FILIR will
abort with an error when it attempts to open an output file.
The default is the current directory.
SIZE, DATE, and DATE2 options -- you specify whether you
want the field suppressed on output (=none), or else whether
you want the output to use the actual file value as reported
by DOS (=file) or simply use the value as found in the
dirfile (=list). See Page 3 for defaults.
DESC option -- you specify if you want the description field
suppressed (=none). Default is to include the description.
COLOR option -- you specify if you want the FILIR.ANS color
file supressed (=none). Default is to produce the file.
MINDATE option -- you specify the lowest date (=mm/dd/yy)
that you want the DATE field set to. Any date that is lower
than the given date is changed to the given date in the
FILIR.YES output file. (This is one of those quirky things
that I wanted but do not really expect you to find of much
FILIR.DOC Page 5
Using FILIR - Examples
These examples show input in all caps. In reality, you may
freely mix upper and lower case.
This will display a help summary screen. (Programmers take
note: all programs that require parameters ought to behave
this way! I first saw this in Phil Katz's PKARC/PKXARC
FILIR FILES.BBS INMASK=C:\UPLOAD COLOR=NONE
This will compare the FILES.BBS file list (in the current
directory) with all the files in the UPLOAD directory on
drive C:. The actual file size is used for the size field,
the listed file date is retained as is, all file
descriptions get truncated to 40 characters, and the
actual file date appears in the Date2 field. The ansi
color file (FILIROUT.ANS) is not produced.
FILIR \BBS\UPLOAD.DIR INMASK=\UPLOAD\*.ARC DATE2=NONE DATE=FILE
This will compare the UPLOAD.DIR file list (in the BBS
directory) with all the .ARC files in the UPLOAD
directory. The output files will show the actual (not
listed) file size and date, and the second date field will
not be added to the file descriptions.
FILIR NUL SIZE=NONE DATE=NONE DESC=NONE DATE2=NONE >NUL
This will produce only the file FILIROUT.NOL which will
contain a sorted list of all files in the current
directory. No fields other than the file name will be
written. All normal console output is effectively
suppressed by piping it to the NUL device.
FILIR.DOC Page 6
The directory listing input and output files are ASCII
files. On input, lines with a space in column 1 and null
lines are presumed to be comments; the first 25 comment
lines that appear at the beginning of the file are
preserved in the FILIR.YES file, other comment lines are
ignored, and other output files are commentless. The file
README.1ST is an example of a legitimate input file. The
format of each line is:
NAME 12 characters in columns 1-12, LJSF ( fname.ext)
SIZE 7 characters in columns 15-21, RJSF ( nnnnn)
DATE 8 characters in columns 24-31, (mm-dd-yy)
DESC starts in column 34. If DATE2 is configured DESC
is truncated at (or padded to) column 73 for a
total size of 40 characters, otherwise DESC may
be of any length up to 200 characters. The phrase
"* Description Unavailable *" is used in the
output files where appropriate.
DATE2 5 characters in columns 75-79, (mm/yy).
This field is one that I added -- it is NOT part of
the "standard" ascii file list, although it is
probably compatible with most BBS ascii file
FILIR.DOC Page 7
FILIR revision history
v1.1 11/16/1988 First public release.
v1.0 Not released to general public.
FILIR revision future
These are features that I am considering for possible future
releases of FILIR, assumming I can correlate my spare time
with my motivation. I am always open to suggestions (see
Page 1 for my address).
Configurable output sort by name, size, or date.
Configurable default values, including colors.
Configurable output file names.
Allow abbreviations for option names and values.
End of FILIR.DOC