Dec 232017
 
FIND is an ultra high speed file finding program. It searches the disk drive(s) for the specified files using the standard DOS drive, filename and wildcard structure.
File FIND217B.ZIP from The Programmer’s Corner in
Category File Managers
FIND is an ultra high speed file finding program. It searches the disk drive(s) for the specified files using the standard DOS drive, filename and wildcard structure.
File Name File Size Zip Size Zip Type
FIND.DOC 45988 10469 deflated
FIND.EXE 13057 6637 deflated
FIND.HDR 411 274 deflated
FIND.HST 3858 1397 deflated
FIND.KEY 42 41 deflated
FINDINST.EXE 7931 3135 deflated
ORDER.FRM 2179 767 deflated
SNAPSHOT.EXE 3103 1678 deflated

Download File FIND217B.ZIP Here

Contents of the FIND.DOC file








Online Reference Software


Assembly language software products
providing maximum performance in a
minimum amount of space.


FIND - fastest file and zip search for DOS











Users Manual - January 24, 1991



































Page 1









LICENSE STATEMENT



Online Reference hereby grants you, the user, a non-exclusive
license to use FIND in its delivered form.

You may use the registered version of the software on any
computer, provided that the software can in no way be used on
more than one computer at the same time.

You are encouraged to freely copy and distribute the share
ware version of the software as long as it is not modified or
missing any of the component files.





WARRANTY



Online Reference warrants software delivered by diskette
to be an accurate copy of the master diskette. Defective
diskettes will be replaced free of charge within 60 days
after purchase.

Online Reference explicitly disclaims all other warranties
whether expressed or implied, including, without limitation,
the implied warranties of merchantability and fitness for any
particular purpose. Online Reference shall have no liability
for consequential, incidental, exemplary or special damages,
including lost profits.

Online Reference reserves the right to improve or change
the product at any time without prior notice.





TECHNICAL SUPPORT



Completing the registration form and paying the published
fees for the software, qualifies the owner for technical
support.







Page 2









CONTENTS


INTRODUCTION.............................................. 5
Overview.............................................. 5
File contents......................................... 5
Enhancements.......................................... 5


FEATURES OVERVIEW......................................... 6
Standard Features summary............................. 6
Advanced Features summary............................. 6


FINDINST.................................................. 7
Overview.............................................. 7
Colors................................................ 8
Drive Search Range.................................... 9
Command Line Switches.................................10
CGA Snow Checking.....................................10

STANDARD FEATURES
Performance...........................................11
DOS Wildcards.........................................12
Elapsed Time..........................................12
DOS Directory Format..................................13
Intelligent I/O.......................................13
Long Screen Support...................................13
Dynamic Memory Allocation.............................14
EMS Memory............................................14
Extended Disk Partitions..............................15
Multi-Drive Search....................................15
SNAPSHOT Disk Dump....................................15


ADVANCED FEATURES
Fuzzy Search..........................................16
Command Line Switches.................................17
/G - Goto first match.............................17
/H - Hidden Search................................17
/L - List Buffer..................................17
/P - Pause Full Screen............................18
/S - Single Drive.................................18
/V - Verbose Path.................................18
/Z - ZIP Search...................................18











Page 3









CONTENTS


IMPLEMENTATION
Technical Data........................................19
PIF...................................................20
DOS Error Level.......................................20
CGA Snow Checking.....................................20
Error Messages........................................21
Switch Summary........................................22
Command Line Examples.................................23


SUPPORT
Bug Reports...........................................25
BBS System............................................25








































Page 4









INTRODUCTION


FIND is an ultra high speed file finding program.

It searches the disk drive(s) for the specified files using
the standard DOS drive, filename and wildcard structure.
The current version will optionally search ZIP (tm) files.

The current version FIND does not support network drives.



The unregistered version contains the following files:

o FIND.DOC - This file
o FIND.EXE - Uses intelligent output display
o FIND.HST - History file FIND versions
o FIND.HDR - CompuServe file description header
o FIND.KEY - CompuServe file description keywords
o FINDINST.EXE - Installation and customization program
o SNAPSHOT.EXE - Capture disk sectors for bug reports
o ORDER.FRM - Ordering and registration form



FIND is not public domain or free software.
The unregistered version is a full speed, complete file
finder. Its capacity and performance have not been
degraded in any way.



Enhancements:

o ZIP file search
o Fuzzy name search
o Installation program
o Speed
o Color
o Single or Multiple drive search
o Elapsed time
o Exclusive hidden file search
o Standard DOS display format
o Intelligent output display
o Support 80x43 and 132x43 screen sizes
o EMS memory used when available
o DOS 4 extended disk partition support
o Dynamic data segment allocation
o Debugging aid






Page 5









FEATURES


Standard features:

o Install program
o Speed
o Automatic search of multiple drives
o Automatic wildcard names
o Colors
o Elapsed Time
o Display uses DOS directory format
o Intelligent I/O
o Long screen support
o Dynamic memory allocation
o EMS memory support
o Extended disk partitions
o SNAPSHOT debugging aid



Advanced features:

o Fuzzy search for embedded name characters
o Search single drive only
o Hidden-only file search
o Pause when screen is full
o Verbose path display
o Goto first match
o Scroll buffer
o CGA snow check control
o ZIP file search
























Page 6









INSTALLATION


--------
OVERVIEW
--------
Version 2.17 incorporates an installation program named
FINDINST that will customize FIND for user-specified colors
and options.

FINDINST is version sensitive, and will complain if the
version is incorrect. Unregistered and Registered versions
of the software are unique and cannot be mixed.

The installation program expects to locate FIND.EXE
in the default directory. The file name must be unchanged
from the distribution disk to install properly.

Once installed, FIND may be freely renamed.





































Page 7









INSTALLATION


------
COLORS
------
The user may configure the text and inverse video colors used
by FIND during operation. The banner colors are fixed and
cannot be changed. The default value is to accept whatever
colors are found at the cursor location when FIND loads.

Invoke FINDINST and choose the Customize Colors option from
the main menu.

The Normal Text and Inverse Video data are displayed
in the colors currently installed in FIND.

The un-installed version FIND defaults to whatever colors are
present at the cursor when the program is invoked. The color
values for this setting is 00 for both text and inverse
video.

FINDINST displays the default colors in black and white until
they are changed. The demo strings are displayed in the new
color after each selection. The colors are not installed in
FIND until the user exits FINDINST.

The user is prompted to enter the hexadecimal values for
the text or inverse video option. The number is always
entered as a 2 digit number. Results are unpredictable
if a single digit is entered.

The left number is the Background color.
The right number is the Foreground color.

07 = White text on black
17 = White text on blue
70 = Black text on white (inverse)

The user may enter any value up to FF, if the blink is
desired. The color banners are fixed colors, and may not
be changed by the user.

TEXT colors are for the file name matches displayed when FIND
executes. A file that matches the input argument will be
displayed as a TEXT color, even if it is a ZIP file.

INVERSE colors are for the subdirectory names and/or ZIP file
names that are displayed. A ZIP file holding a member file
that matches the input argument is displayed in INVERSE
color. The member will be displayed in TEXT color.





Page 8









INSTALLATION


-----------
DRIVE RANGE
-----------
The user may configure FIND to stop searching after a
specified drive letter. This is useful to those who have a
network drive and don't wish to search all logical drives.

Floppy drives that have been ASSIGNED to a higher letter may
also be bypassed using this configuration option. The
default is for drive 'Z'.

Invoke FINDINST and choose the Drive Search Range option
from the main menu.

The current highest drive will display as a drive letter.
The default value in FIND is 'Z'. The default value for
the starting drive is the first hard drive.

FIND begins its search with the first hard drive, unless
the command line file name contains a drive letter or the
first starting drive is set with FINDINST.

In both versions, the search will automatically increment the
drive number until no more drives are left to search. Any
drive that appears as a valid DOS disk will be searched.

If the user has ASSIGNED a floppy drive as a different drive
with a letter higher than the last hard disk, it too will be
searched. FIND will pause for a moment if the floppy is
empty, and then quit. Installing the highest search drive
option will stop FIND from searching assigned drives.

Another use is on a very large network drive, that goes
from C to W or even higher. In spite of FIND's tremendous
speed, it will still slow down on a very large drive,
particularly so, if that drive contains many ZIP files.
The user can limit the search range by using the
Highest Search option.















Page 9









INSTALLATION


--------
SWITCHES
--------
The user may configure FIND for any of the command line
switches. These switches are actually toggles, and may
be overridden on the command line.

If the /Z switch is set by FINDINST, using it on the command
line will toggle it to OFF for a one-time run of FIND.



-----------------
CGA SNOW CHECKING
-----------------
FINDINST is invoked without a command line name. An optional
command line argument [/OFF] will bypass CGA snow checking
for machines that have problems with it, or don't need it.

e.g. FINDINST /OFF

This switch will force FINDINST to run with snow checking
disabled. The user may install this option into FIND by
selecting the SWITCHES entry on the first menu.























STANDARD FEATURES





Page 10











-----------
PERFORMANCE
-----------
Version 2.17 is significantly faster than other file finders.

M:SS = Minutes : Seconds
S.HH = Seconds . Hundredths

681 - normal files 700 - normal files
287 - zip files 491 - zip files
13860 - zip members 4886 - zip members

16 Mhz 80286 4.77 Mhz 8088
32mb C: 82mb C:
DOS 3.30 DOS 4.01


ZIP :12 658% FIND :39 851%
Search
1:14 107% QF360(4) 8:00 69%

1:19 100% PKZFIND 5:32 100%

(1) FFF 4:56 112%

2:00 65% WHEREIS 5:33 100%


(1) Crashed after 10 seconds. Reboot required.
(2) Finds nothing under DOS 4.
(3) Returns 'drive not ready' under DOS 4.
(4) Empty zip files reported as corrupted.


Normal .99 433% FIND 1.07 611%
Search
1.70 252% WHIZ (3)

3.90 110% FF 14.06 47%

4.29 100% WHEREIS 6.54 100%

5.88 73% QF360 40.04 16%

(1) FFF 11.21 58%

.94 456% TF77 (2)







Page 11









STANDARD FEATURES


-----------------------
DOS Automatic Wildcards
-----------------------
FIND uses the DOS wildcard system for command line arguments.

FILENAME. = FILENAME.
FILENAME = FILENAME.???
FILE = FILE????.???
FILE. = FILE .???
.EXE = ????????.EXE

*123.*45 = ????????.???
. = ????????.
.* = ????????.???
*.* = ????????.???
* = ????????.???

*. = ????????.
*.X* = ????????.X??



------------
Elapsed Time
------------
FIND displays the total amount of time required to search
all drive(s).

Totals are displayed for number of files matching the input
argument, total number of files, and number of directories.























Page 12









STANDARD FEATURES


--------------------
DOS Directory Format
--------------------
FIND displays all file data in the DOS directory format.
All file data exactly matches the DOS location and format
conventions.

The file attributes are appended to the standard DOS display
as both a hex number and their associated name(s).



--------------------------
Intelligent output display
--------------------------
FIND determines if DOS I/O redirection to a disk file or
printer is active.

When redirection is active, all output is displayed a second
time using DOS. All screen output except the author banners
are then output to the redirected device or file.

For the screen, the color attribute found at the starting
cursor location is used.

FIND automatically uses whichever video page number is active
at startup. The user video configuration remains unchanged.



-------------------
Long screen support
-------------------
FIND uses the screen mode that is active at startup.
The 80x43 and 132x43 text screens are supported.
40 column mode is not supported.

















Page 13









STANDARD FEATURES


-------------------------
Dynamic Memory Allocation
-------------------------
Internal data segment sizes are allocated on the fly for each
logical drive that is searched. Memory is allocated in the
exact amount required for each drive.

Assume no EMS memory, extended disk partitions and options
enabled for a worst-case memory map:

13k code and stack space
128k FAT table
64k path table
64k scroll buffer
64k minimum directory data
16k floating zip segment
-------------------------
349k memory requirements



------------------
EMS memory support
------------------
FIND will utilize up to 8 pages of EMS memory for the path
table and scroll buffer. This increases the directory data
space by 128k, and reduces a potential out-of-memory error
when searching large subdirectories.

FIND identifies the EMMXXXX0 device drive signature then
allocates EMS memory via DOS interrupt 67h with LIM 3.2
or higher. The current context mapping is saved at entry
and is then restored when FIND terminates.

FIND currently supports 512 directories, and an unlimited
amount of files.

FIND can execute as a child process of a parent that uses
EMS memory without interfering with the parents' data.














Page 14









STANDARD FEATURES


-------------------------------
Extended disk partition support
-------------------------------
FIND supports DOS disk partitions greater than 32mb.

Note that FIND will not work on some non-DOS partitions. A
valid DOS boot sector is required on each drive that is
searched.

Use the DOS FDISK command to DISPLAY the partiton table
information when a non-DOS partition is suspected.



---------------------
Multiple Drive Search
---------------------
FIND will search multiple drives in ascending order starting
with the drive specified by the user. If none is specified
then the first hard disk is assumed.

Note that systems without a hard drive or ram disk must
ALWAYS specify the drive letter. FIND defaults to the first
drive after the last installed floppy disk.



------------------
SNAPSHOT Disk Dump
------------------
SNAPSHOT.EXE is a debug aid that captures the first 317k of
data on the specified disk. The captured data is then
written to a floppy disk in drive A: as SNAPSHOT.DAT.

When I receive this disk and data, I can reassemble FIND in
debugging mode and run on the image of your disk.

Caveats: ALL user data within the 1st 317k of the disk will
be captured. When I receive the SNAPSHOT dump, the user
agrees to release me from all liability associated with his
data.












Page 15









ADVANCED FEATURES


------------
Fuzzy Search
-------------
Version 2.17 will support the following command line
arguments for embedded characters.

Bracketing a string of characters with '*' tells the
parser to match that sequence of characters anywhere in
the file name and/or extension.

Rules:
(1) A fuzzy search field must begin with the asterisk (*)
in the first position of the name or file extension.

(2) At least one valid DOS character must be between the two
asterisk brackets. The '?' wildcard is valid.
Two consecutive asterisk will return an error.

(3) The fuzzy character count can be no more than 8 for the
name field, or 3 for the extension field.
This count does not include the brackets (*).
An overlength name or extension returns an error.

A full length field of fuzzy bytes will be interpreted as
a non-fuzzy search, and no error will be returned.


IB*AB* = IB?????? .???
*IB*.COM = <> .COM
*IB* = <> .???
*IB*.i* = <> .i??
*IB*.*i* = <> . <>
*I?M*.COM = <> .COM
*1234567*.*12* = <<1234567>> . <<12>>

*12345678* = 12345678 .??? ; Legal but useless
LOTUS.*123* = LOTUS .123 ; Legal but useless

*123456789* = ERROR ; Overlength name
**.Exe = ERROR ; Double splats together
LOTUS.*1234* = ERROR ; Overlength extent
*A*B*C.EXE = ERROR ; More than 2 '*' wildcards











Page 16









COMMAND LINE SWITCHES


Switches are available in the Registered version only.

Invoke FINDINST and choose the Command Line Switches option.

All the currently supported command line switch states will
be displayed. The user is provided with a menu to
individually set a switch, or to clear all switches.



---------------------
/G - Goto First Match
---------------------
When set, FIND will display the drive, path, and file name
of the first file that matches the input argument.
The default drive and path will be set to that of the matched
file, and the program will terminate.



----------------------
/H - Hidden Files Only
----------------------
When set, FIND will search all drive(s) and display only
those files which have the SYSTEM or HIDDEN bits set in
their directory entry.

This search will pick up the DOS system files, and all
volume labels. Any other hidden files, such as those
installed by copy protection programs will also be displayed.

Subdirectories marked as hidden are not displayed.



-----------------------
/L - List Scroll Buffer
-----------------------
When set, FIND will keep an internal scroll buffer capable
of displaying the first 64k of output. When FIND has
completed it search, the user may use the cursor keys to
scroll up and down in the buffer.

The scroll buffer can display at least 819 lines of output
without having to redirect the output to a disk file.
Larger requirements dictate the use of a disk redirection
file.






Page 17









COMMAND LINE SWITCHES


Switches are available in the Registered version.

--------------------------
/P - Pause for Full Screen
--------------------------
When set, FIND will pause when the screen is full and prompt
the user to hit any key to continue. The top screen banner
will scroll off leaving all of the following screens at full
length for output display. Each subsequent screen will also
pause when full.

The /L option will disable the pause switch.



------------------------
/S - Single drive search
------------------------
When set, FIND will only search a single drive.
If no drive letter is given with the command line argument
the default drive is searched.

A drive letter given in the command line will cause FIND to
begin the search at that drive, and stop when the specified
drive is complete.



-------------------------
/V - Verbose path display
-------------------------
When set, FIND will display all subdirectories searched.
This is useful for building a list of all subdirectories
on all drive(s) searched.

This switch is also used if FIND is suspected of not finding
a subdirectory. Junk is an indicator of a bug in FIND or
other disorder such as a cross-linked subdirectory.



--------------------
/Z - ZIP file search
--------------------
When set, FIND will open and search all ZIP files.
Any ZIP member that matches the input argument will be
displayed. The ZIP file holding that member will be
displayed in Inverse video, as a subdirectory would be.





Page 18









IMPLEMENTATION


--------------
Technical Data
--------------
Screen performance has been improved by utilizing direct
screen writes. Snow prevention is implemented only when
the CGA card is detected.

FIND uses the BIOS Int 11h installed equipment call to check
the number of installed floppy disk drives. If
a switch is set wrong, and this value is corrupted then
FIND will encounter errors trying to access the non-
installed drive. Any floppy error causes that floppy to
be bypassed.

If the BIOS is set to 4 floppy drives (0..3), FIND will
assume the first hard drive to be device #4. If the
system actually has only 2 floppies and a hard disk, FIND
will exit with no files found, because it starts
searching at drive #4 which does not exist. Check your
switch settings.

FIND uses the DOS direct read interrupt Int25h. The new DOS
4 version deviates from earlier versions in the manner
that this interrupt is implemented. FIND automatically
uses the extended partition calling convention for DOS 4
and up.

FIND takes over one interrupt vector, Int23h (Control Break).
The control break allows the user to quit FIND at any
point during the execution.

The vector is restored upon any exit from the program.

A user entered ^C causes the program to terminate and
restore the ^C vector at exit.

FIND performs direct reads of the disk and can not damage the
integrity of the disk. No writes are done to the disk.


There exists a naming conflict with a DOS program of the same
name. FIND can be renamed to something else if the DOS
program is regularly used. FIND can also be placed in a
path that comes before the DOS path.

FIND is written entirely in Turbo Assembler v2.01.








Page 19









IMPLEMENTATION


---
PIF
---
FIND is 'ill behaved' in screen management functions
as direct screen writes are used.

FIND is 'ill behaved' for vectors as it takes over 23h,
the Control-Break vector.



--------------
DOS ERRORLEVEL
--------------
0 - No errors
1 - Parsing error
2 - BIOS Load_Boot error
3 - DOS read error
4 - DOS write error
5 - User ^C



_________________
CGA SNOW CHECKING
-----------------
CGA snow checking will be implemented when a successful
test of the retrace hardware has been completed.

Some oddball mono-graphics cards do not correctly support the
horizontal retrace bit in CGA status port 3DAh. The result
is FIND hanging forever waiting for the bit to change state.

The test first waits for the retrace bit to become clear,
then waits for it to set again. If either test fails, then
the retrace hardware is assumed defective and snow checking
is disabled.

Non-standard use of this port can cause unpredictable
results. If this is suspected, the user may enable or
disable CGA snow checking from the SET SWITCHES panel of
FINDINST. This will override the startup tests and force the
CGA snow testing into the mode selected by the user.

The suggested method is to set CGA snow checking to OFF which
will bypass any potential hang condition. If no screen snow
is encountered, leave the switch off. Performance is
significantly improved with snow checking turned off.





Page 20









IMPLEMENTATION


--------------
Error Messages
--------------
'Unable to locate or read header for..'
o The ZIP file is damaged or corrupted.



'Logic error locating central directory for '
o Internal error in FIND



'Insufficient memory to search this subdirectory'
o A subdirectory greater than 64k is being searched
and not enough memory is available to load it.

o /L switch has requested a scroll buffer and no EMS
memory is available. Scroll buffer removes 64k of
DOS memory that is available for directory loads.

o FIND is trying to run in 384k or less.

o FIND is running from another program which has
SHELL'd out to DOS



'Insufficient memory to search xxx.ZIP'
o Not enough free memory available to load the ZIP
file central directory for searching.



'Invalid boot sector for drive x:'
o Non-standard DOS boot sector was detected.
Bytes per sector is zero or not contined in the
set of 64,128,256,512,1024,2048,4096,8192.

o Boot sector has returned Zero bytes per sector
Specialized RAM disks such as some AST products
do not utilize a standard DOS boot sector.











Page 21









IMPLEMENTATION


-----
Usage
-----

Valid switches are: /G /H /L /P /S /V /Z

/G - Goto Match
The default drive and directory are changed to
that of the first matching file.

/H - Hidden file(s)
Only file attributes that match either the
system or hidden bits will be displayed.
This switch disables the /Z switch.

/L - List scroll buffer
The first 819 lines of output are saved in a
scrollable buffer.
This switch disables the /P switch.

/P - Pause mode
The program will pause when the screen is full.

/S - Single drive
Only a single drive will be searched.
If not specified, the default drive is assumed.
Otherwise, the first file specified by the user
is the only drive searched.

/V - Verbose path display
Every path searched will be displayed.
Useful to build a complete path table of the
specified drive(s) by searching for a non-
existent file.

/Z - search zip files
All PKZIP files will be searched for member(s)
matching the input argument.
Corrupted ZIP files will be identified with an
error message. Empty ZIP files are not
reported.












Page 22









IMPLEMENTATION


---------------------
Command Line Examples
---------------------

FIND file
Start with the default hard drive.
No dot defaults to all file extensions.
Match all occurrences of 'file????.???'


FIND file.
Start with the default hard drive.
The dot specifies no file extension.
Confine match to 'file'.


FIND *
Start with the default hard drive.
Find all files.


FIND *.*
Start with the default hard drive.
Find all files.


FIND *.* /H
Start with the default hard drive.
Find hidden files only.


FIND *.* /V
Start with the default hard drive.
Display all paths as they are scanned.


FIND *.* /H /S
Start with the default drive.
Find hidden files only.
Check only the default drive.


FIND A:*.*
Start with the A: drive.
Find all files.








Page 23









IMPLEMENTATION


---------------------
Command Line Examples
---------------------

FIND G:*.* /S
Start with the G: drive.
Find all files.
Check only the G: drive.


FIND *.* /H /S > PRN
Start with the default hard drive.
Find hidden files only.
Check only the first hard drive.
Redirect output to printer.


FIND *.* /H /S > C:\Temp\Dir.Lst
Start with the default hard drive.
Find hidden files only.
Check only the first hard drive.
Redirect output to disk file on drive C:


FIND *IBM*
Find any occurrence of the letters 'IBM' in
the file name field. The file extent field
defaults to .???


FIND *IB??IO*
Find any occurrence of the letters 'IB??IO' in
the file name field. The file extent field
defaults to '.???'.
This example would find IBMBIO.COM.


FIND *.*A*
Find any occurrence of the letter 'A' in the
the file extension field. The letter can be
in position 1,2, or 3. The file name field
defaults to '????????'.


FIND E:Command.Com /G
Find COMMAND.COM starting with the E: drive and
change to the drive:directory where it was found.






Page 24









SUPPORT


-----------
BUG Reports
-----------
Bug reports are welcomed.

1) Make/Version of DOS
2) Copy of AUTOEXEC.BAT and CONFIG.SYS
3) Names of TSRs if any, that are loaded
4) Redirected copy of FIND in verbose mode.
e.g. FIND /V > DUMP.FIL
This provides a list of all subdirectories.
5) Use SNAPSHOT to take a dump of the suspect disk.
6) Run CHKDSK against the failing drive.

Attempt to diagnose any bugs by unloading all TSRs and
start with as simple a system as possible.



------------
Registration
------------
Please fill out the enclosed ORDER.FRM.

Bruce Gavin
CompuServe: 70137,3244
GEnie : B.GAVIN



----------
BBS System
----------
Online Reference BBS:
(719) 380-9095 (voice)
(719) 591-0302 24 hours,
(9600 v.42/8N1 installed by 01MAR91)

Programmers Online Reference Guides
Norton Guide databases
Home of ALTER, ET, FRESHEN, and other fine utilities.












Page 25





 December 23, 2017  Add comments

Leave a Reply