^C^1Disk Indexer
^Cby
^CDaniel Tobias

You've been using your PC for a while.  You've probably built up quite a stack 
of diskettes containing the programs, data files, text files, etc., that you 
have been working on.  Most likely, you often forget which disk a given file 
is on and have to do a long, tedious search. 

Or maybe you upgraded to a hard disk and thought that it would solve all of
your problems.  However, as you created more and more subdirectories and
sub-subdirectories to hold everything, you faced a similar problem when it came 
to remembering just which subdirectory contained some elusive file. 

DISK INDEXER will solve these problems.  It will let you create a master index
of a collection of floppy disks, or all or part of a hard disk.  The index
is an alphabetized list of the files on all indexed disks, along with their
size, creation date, and (most importantly) where they can be located.  You
can output all or selected parts of this index to your screen or printer.

DISK INDEXER has many options and features.  The best thing to do is to print 
out this text and have it in front of you as you go through the program.  What 
follows is a description of the items on the menu.  Many of these items invoke 
sub-menus; in each of these menus, you can return to the main menu by pressing 
the ESC key. 


^C(I)ndex disks

Select I to index disks, and you will be prompted to "Insert disk to index."  
DISK INDEXER will expect to find this disk in drive A.  (Later, you will find 
out how to change this in order to use other floppy or hard disk drives.)  
Place any MS-DOS formatted disk (for example, BIG BLUE DISK, or your MS-DOS 
system disk) in drive A and press the space bar.  If you really didn't want to 
index disks, press ESC to return to the menu. 

Next DISK INDEXER will tell you the disk I.D.  The I.D., which is obtained 
from the volume label, will be used in your index as an indication of where 
each file is, so make sure it reflects the name by which you know the disk. 

This issue of BIG BLUE DISK has a label of "BBD #5 D2" on its second disk, so 
that is what will show as its I.D. if that is the disk you inserted.

Press the ENTER key to accept the I.D. as given, or press the backspace key to 
use a different string.  If you decide you really didn't want to index that 
disk, press ESC to get back to the previous prompt; press ESC again to return 
to the menu. 

Once you press ENTER, the disk's directory will be read, sorted, and added to 
your index.  DISK INDEXER will tell you how many files it added to the index, 
and prompt for another disk.  Continue inserting disks to index, and repeat 
the above sequence for each disk.  When done, press ESC instead of the space 
bar when prompted to insert a disk. 

If DISK INDEXER encounters more than one file of the same name under the same 
disk I.D. (as might happen if you should insert the same disk twice during the 
indexing process), only one entry of that filename will be kept; file size and 
date information for this entry will be taken from the most recently inserted 
disk with that file.  Duplicate filenames with different disk I.D.'s will 
appear in the index as many times as there were occurrences of that filename 
with different I.D.'s. 


^C(D)rive/Path/Mask Selection Options

Here is where you tell DISK INDEXER which drive to use.  The default is drive 
A, but you can indicate any drive or path.  Selecting the D command from the 
main menu brings you a submenu containing three modifyable parameters. 

Option 1 lets you enter a new value in standard MS-DOS syntax for the drive 
and path to search.  For example, "A:\" selects the root directory of drive A, 
"C:\" selects the root directory of drive C (usually a hard disk), and "C:" 
(with no backslash) selects the current directory of drive C. 

Normally, if you are indexing floppy disks, you will use "A:\", which is the 
default value when you start DISK INDEXER.  For indexing a hard disk, "C:\" is 
the normal value if you are starting at the root; you can also select a 
subdirectory like "C:\GAMES\" if you only want to index parts of the disk. You 
may enter subdirectory names with or without a terminating backslash; a 
backslash (\) will be added automatically to the end of the string you type if 
its last character is not already a backslash or colon. 

Option 2 will toggle the Recursive Directory Search option.  If this option is 
on, DISK INDEXER will automatically search for and index all subdirectories of 
a directory it has just indexed.  This continues recursively, so that if you 
start at the root directory, all directories of the disk will be indexed.  
This option is primarily of use when you wish to index your whole hard disk, 
but it can also be used on floppies with subdirectories, to make sure all 
files are indexed. 

Option 3 allows you to set a file mask.  This is a MS-DOS wildcard expression, 
used to specify which files on your disks will be indexed. The default is 
"*.*", which means all files. 

You can change this to index only selected files; for instance, using the mask 
"*.BAS" wil limit the index to files with a .BAS extension. A mask of "TEST*.*"
will index only files whose names begin with "TEST". 


^C(F)ile type selection options

This command allows more choices regarding which files are indexed.  In this 
section, you can press the number keys 1 through 4 to toggle between including 
and excluding several types of files.

Option 1 is zero-length files; these are files, like the delimiter files of BIG 
BLUE DISK, that have only a directory entry, but no data.  These are generally 
used only to make the directory listing more attractive; you probably don't 
want them in your index.  Thus, you can turn this option off so that these files
are not included. 

Options 2 and 3 refer to hidden and system files respectively.  These are 
special file types which don't normally show in your directory.  The MS-DOS 
program itself is contained in system files on your system disk.  Some utility 
programs can convert data files into hidden files so that others can't see 
where they are.  These sorts of files will not normally be indexed by DISK 
INDEXER, but if you toggle these options, they will be included.

Option 4 lets you choose whether or not to index the file COMMAND.COM. This 
file is on all bootable disks, so you may have many copies in your disk 
collection.  Hence, you might wish to turn this off so that this file does not 
appear in your index. 

The default when you start DISK INDEXER is to include zero-length files and 
COMMAND.COM, but exclude hidden and system files.  This means that all files 
that are visible in a normal DIR listing will get indexed, and no others.


^C(P)ick system for getting disk ID

This section allows you to choose how DISK INDEXER finds the name of each disk 
or subdirectory.  This information can be obtained in one of several ways, 
selectable by pressing a number from 1 to 4, or using the up and down arrows 
to move a pointer between these four items.  There is also a fifth option 
which can be toggled independently of these.  The choices are as follows: 

(1) Use the disk volume label, which MS-DOS adds when you format a disk.

(2) If you are indexing your collection of issues of BIG BLUE DISK,
use the STATUS.DAT file, which contains the issue number information.

(3) For indexing hard disks (or floppies which contain subdirectories) use the 
pathname of each directory. 

(4) You can be prompted to type a name for each disk or directory as it is 
indexed.

(5) You may also choose to have the I.D. value confirmed before you proceed 
with indexing; this will give you a chance to see what data is being used and 
change it if you wish.  Or you can disable the confirmation, so the indexing 
goes faster.  Press 5 to toggle this option.  If you do a recursive directory 
search, you'll probably want to turn the confirmation option off; otherwise, 
there will be a pause at each subdirectory.


^C(R)ead index data file from disk.

When you select this option, you will be prompted for a filename.  This should 
be the name of a file which you have previously saved with the W command 
(described below).  All index data in this file will be loaded, overwriting 
any index data already in memory.


^C(W)rite index data to disk.

This option will prompt you for a filename, then save the index data, so that 
it can later be loaded with the R command described above, or merged with the 
M command described below.


^C(E)dit or delete index data.

Once you have created a large index, you might decide that there are some 
entries that shouldn't be there, or aren't quite the way you wanted; thus, an 
edit feature lets you select one or more entries and manually change the data 
in the selected records, or delete them entirely.  This editing can be 
performed on the data in memory, or in a disk file previously created through 
the W command or through merges. 

There are six options on this sub-menu, as follow:
             
Option 1 will toggle between the "Edit" and "Delete" functions. Edit lets you 
make changes in the data in a record, while Delete removes the record 
entirely. 

Option 2 lets you input a search string to indicate what records to select.  A 
search string is any ASCII string.  How it is used depends on the status of 
option 3 below. 

Option 3 toggles between looking for the search string in the filename or the 
I.D. (location) string of each record.  In either case, records will be 
selected if the search string occurs at any point in the appropriate field.   
For example, the string "RAT" would select "RATES.DAT", "BRAT.TXT", and 
"MUSK.RAT".  (Note that this works differently from MS-DOS wildcard 
expressions; the * and ? operators are not supported here.) 

Option 4 toggles between pausing to confirm each selected record, or just 
performing the requested action without a pause.  Enable this option if you 
wish to be given a choice of whether to edit (or delete) each record 
individually. 

Option 5 toggles between performing the edit or delete directly in memory or 
in a disk file. 

Option 6 lets you input the name of the index file you want to edit, if you 
have used option 5 to edit or delete in a disk file.

Option 7 will perform the edit or delete function.  In the case of an edit, 
all fields of the entry will be displayed, and you can change any of them 
except the filename by typing the appropriate number and entering a new value. 


^C(C)lear the index data in memory.

This command causes all index data in memory to be cleared, so that you can 
start fresh with a new index.


^C(M)erge index data.

DISK INDEXER will index up to 5000 files, provided you have sufficient memory.  
(640K systems handle 5000 files; 256K systems support a little over 1300 
files; other memory configurations should have limits somewhere in between.)  
You will be warned when the limits are close to being reached. 

This should be sufficient for garden-variety indexing, but if you want to make a
really massive index of your entire disk collection, your 30-megabyte hard
disk, or all of the above, you might run out of room.  Thus, still another
option has been provided.  The Merge command will merge the data in memory into
a previously-saved index data file, or merge two index data files.  (It will 
also merge a disk file into memory, but this is of course subject to the 
limitations on the number of entries in memory.)  Thus you can keep indexing 
until you approach the 5000-file limit, save the data to disk; next clear the 
data and start a new index with the rest of your disks; and finally merge the 
two indexes together to create a fully-alphabetized index containing 
everything.  In this way, you can produce indexes that are limited only by the 
disk storage space. 

You choose which type of merge to perform by pressing a number from 1 to 3, or 
using the up and down arrow keys to move a pointer between the options, Merge 
Memory to Disk File, Merge Disk File to Disk File, and Merge Disk File to 
Memory. 

4 lets you select the input file name, if applicable.  5 lets you select the 
output file name, if applicable.  6 performs the merge. 


^C(O)utput an index report.

Once you have completed an index, you can output a report of all or selected 
files to your screen or printer.  Selecting this command brings up the 
following options:

Option 1 toggles whether the report will be based on the index data in memory, 
or a disk file. 

Option 2 toggles whether the output is to the screen or the printer.

Option 3 lets you select the filename to read, if the report is to be of a 
disk file. 

Option 4 lets you input a search string; this works in the same manner as the 
search string for the Edit function. 

Option 5 toggles between finding the search string in the filename or the I.D. 
string. 

Option 6 prints the report.


^C(S)ave parameters to a file.

Since there are a number of parameters controlling different options of this 
program, and your preferred values might not agree with the defaults specified 
by the programmer, there is an option to save the parameters to a disk file.  
When you later load the parameters from the saved file, all the choices and 
options will be set to what they were when you saved them.  You can specify a 
filename to save, so you can save several sets of parameters -- perhaps one for 
indexing floppies and another for a hard disk.


^C(L)oad parameters from a file.

This command will load parameters which have been saved with the S command.


^C(V)iew directory of a disk.

This command lets you see a list of the files on a disk.  This is helpful
if you want to find the name of the index or parameter data files you have 
saved, or you wish to see what is on a disk before you index it.  You will be 
prompted for a drive/path/mask specification in the standard MS-DOS syntax.
For example, "C:\STUFF\*.*" will give you all files in the subdirectory STUFF 
of drive C, while "A:*.TXT" will show you all files with the extension ".TXT" 
on the disk in drive A.


^C(Q)uit.

This command causes DISK INDEXER to exit, and return you to BIG BLUE DISK.

If you do disk swapping in the course of indexing disks and/or saving your 
index data to your own disk, be sure to replace BIG BLUE DISK (and your MS-DOS 
disk, if necessary) in the same drives they were in at the time you started 
running DISK INDEXER, before you exit the program.  Otherwise, you might 
encounter difficulty re-connecting to the BIG BLUE DISK menu. 


DISK FILES THIS PROGRAM USES:
^FINDEXER.CHN
^FPASRUN.COM
^FRETURN.CHN
