Category : File Managers
Archive   : SF310.ZIP
Filename : SF.DOC

 
Output of file : SF.DOC contained in archive : SF310.ZIP








SF - Subtree Find

Version 3.01

Tuesday October 25, 1988

Documentation for SF

by

Howard Kapustein

Copyright (c) 1988, All rights reserved


Howard Kapustein
1695 Barbara Lane
East Meadow, NY 11554
(516) 481-9612













































Contents


COPYRIGHT AND DISCLAIMER ......................................... 3
LICENSE .......................................................... 3
TRADEMARKS ....................................................... 4
WHAT IS SUBTREE FIND ............................................. 4
FILE ATTRIBUTES .................................................. 5
INVOKING SUBTREE FIND ............................................ 6
SUBTREE FIND OPTIONS ............................................. 6
Attributes: .................................................. 7
ARCHIVE attribute ....................................... 7
HIDDEN attribute ........................................ 7
READ-ONLY attribute ..................................... 7
SYSTEM attribute ........................................ 7
Directory attribute ..................................... 7
Volume Label attribute .................................. 7
EXACT MATCH ............................................. 7
MATCH ................................................... 8
Criteria: .................................................... 8
FILE STAMP .............................................. 8
Info: ........................................................ 9
FREE DISK SPACE ......................................... 9
ELAPSED TIME ............................................ 9
USED DISK SPACE ......................................... 9
Search: ...................................................... 9
ONE MATCH ............................................... 9
FIFO SEARCH ............................................. 9
NO SUBDIR SEARCH ........................................ 10
Output: ...................................................... 10
COLOR ................................................... 10
PAUSE ................................................... 11
QUIET ................................................... 11
CURSOR CONTROL .......................................... 11
BIOS OUTPUT ............................................. 11
REDIRECTABLE OUTPUT ..................................... 11
Other: ....................................................... 11
SET ATTRIBUTES .......................................... 11
KEYBOARD BREAK .......................................... 12
JUMP TO SUBDIRECTORY .................................... 12
KILL (DELETE) FILES ..................................... 12
VERIFY BEFORE KILLING FILES ............................. 12
WAIT FOR KEYPRESS ....................................... 12
TOUCH ................................................... 12
Special ...................................................... 13
SAVE DEFAULT OPTIONS .................................... 13
HELP .................................................... 13
EXTENDED HELP ........................................... 13
PAUSING THE DISPLAY .............................................. 14
DOS VARIABLES .................................................... 14
INFORMATION / REQUIREMENTS ....................................... 15
UPDATES / RELEASES ............................................... 16
FUTURE RELEASES .................................................. 18
ABOUT THE AUTHOR ................................................. 19
OTHER PRODUCTS ................................................... 19
SUPPORT .......................................................... 19










COPYRIGHT AND DISCLAIMER

This program and documentation are Copyrighted (C) 1988 by Howard
Kapustein, All Rights Reserved.

Use of this program acknowledges this disclaimer of warranty:
"This program is supplied as-is. The author disclaims all
warranties, expressed or implied, including, without limitation,
the warranties of merchantability and of fitness of this program
for any purpose. The author assumes no liability for damages
direct or consequential, which may result from the use of this
program."



LICENSE

SF is distributed as "SHAREWARE." This does NOT mean that SF is
free. Basically, there are three ways types of software:

Public Domain: not for sale. Public Domain software is free.
Programs listed in magazines are usually PD
unless otherwise specified.

Commercial: exactly what it sounds like, so called 'real'
software, like 1-2-3 or dBASE III+.

Shareware: similar to Commercial software, but without
the inflated price tag. Shareware has 2 big
advantages over commercial software: price and
reliability.

Because I don't have much overhead (I don't spend millions on
advertising, packaging, etc.) I can sell my program to you for a
reasonable price (I have never seen a shareware product with a
list price of $200, and most 'Commercial' software sells for much
more than that.)

More importantly, you get to test drive the program BEFORE
shelling out any money. You are under no obligation to pay for a
shareware program during the trial period. After the initial trial
period you may either register or stop using it. Very simply it's
a limited time money back guarantee.

If you like SF, let me know by sending me a picture postcard. If
you really like SF, and would like to make a donation to support
my continuing work on SF and other products, I suggest $10, but
feel free to send me what you think SF is worth. I promise any
monies received will go into a computer slush fund and won't be
spent on something trivial like food, heat, the rent, etc.

SF may not be distributed without this documentation.






Page 1









TRADEMARKS

1-2-3 is a registered trademark of Lotus, Inc.
dBASE is a registered trademark of Ashton-Tate Inc.
DESQview is a registered trademark of Quarterdeck Office Systems



WHAT IS SUBTREE FIND

Subtree Find fills a (to me) vital niche missed by DOS and other
utilities. I wanted a program to search a subtree of my disk, but
alas, DIR only works on one directory (why didn't Microsoft put in
a /S option like they did with XCOPY? Then again, why didn't MS
write us a real operating system and save us all many hours of
grief?) and utilities such as Find File by Peter Norton and Fast
File Finder by Keith P. Graham only work on an entire drive. Now
don't get me wrong, they all do a great job, just not the job I
need. So voila! I wrote Subtree Find.

My main goals when writing SF were:

- search just a subtree of an entire disk

- the same information provided by DIR and more, like
attributes and space used by files

- search by any information about files (attributes, date,
time and filesize as well as a filespec)

- pause during execution for ease of reading

- match filenames 100% identically like DIR

One of the more important features was that SF should accept
wildcarded filenames (*,?) and match them EXACTLY as DIR does.
This turned out to be the hardest part to implement. Some
filenames are parsed by DIR differently than you would think.
Subtree Find will accept any filespec that DIR will, and will
parse it the same as DIR will, just over multiple directories.

Possible uses of SF:

- enhanced DIR display

- display disk space used by files

- find files with certain attributes

- find files modified since a certain date

- search a subtree of a disk





Page 2









- search an entire disk for a filespec (just specify the root
directory and all subdirectories will get searched, thus
the entire disk)



FILE ATTRIBUTES

Before going any further I think I should explain what file
attributes are. If you already know, just skip this section.

DOS keeps information about each file on a disk, such as the file
name, size, date and time it was last changed, where the file is
located on disk, and other useful tidbits. Every file has what is
called an attribute byte. This byte stores all information about
the file's attributes as a bit pattern:

DECIMAL 128 64 32 16 8 4 2 1
ÚÄÄÄÂÄÄÄÂÄÄÄÂÄÄÄÂÄÄÄÂÄÄÄÂÄÄÄÂÄÄÄ¿
³ ? ³ ? ³ A ³ D ³ L ³ S ³ H ³ R ³
ÀÄÄÄÁÄÄÄÁÄÄÄÁÄÄÄÁÄÄÄÁÄÄÄÁÄÄÄÁÄÄÄÙ
HEX 80h 40h 20h 10h 08h 04h 02h 01h

Archive Directory Label System Hidden Read-Only

The ? are not used by DOS (yet).

So what does this all mean? If you didn't understand the chart,
don't worry. All you have to know is each file has a flag for each
attribute.

But wait! Didn't I see Directory up there? Sharp eyes. The only
way DOS can distinguish between any old file and a subdirectory is
by the Directory bit. Remember when I said DOS stores info about
each file? Well, it knows where each file is located on the disk,
so when you use your handy dandy word processor to edit your boss'
memo, DOS knows where on the disk to look for the memo. For
directories, the location of the 'data' is really just another
subdirectory listing.

Another interesting item is the Label flag. Every disk can have a
volume label (DIR will display the volume label for you). The
volume label is just another filename stored in the root
directory, except it has the Label flag turned on.

Any file can have their Read-Only, Hidden, System and/or Archive
(RHSA) bits turned on. Subdirectories have their Directory (D) bit
enabled, and there should only be 1 Label (L), in the root
directory.








Page 3









INVOKING SUBTREE FIND

Subtree Find is invoked from the command line as follows:

SF [options] [d:][path][filespec] [options]

Options: -option or -option+ turns an option on
-option- turns an option off
-option* toggles an option (Version 3.01
does not implement this fully.
See History / Revisions for a
list of options not yet
supported)

Optional drive, path and filespec.

Some examples:

SF -he -f- c:\turboc searches the C:\TURBOC branch for
all files that have only the HIDDEN
attribute, and does not display free
disk space when done

SF -xm \ -u searches the current drive
(specifying the root will have SF
search the entire disk) for any file
(default *.*) that has R, H, S, A
and/or no attributes set, and
displays space used by files per
subdirectory and total space used
when finished

SF -f-t C:\turboc\*.h searches the c:\turboc branch for
all 'normal' files (visible to DIR)
matching *.h and displays the total
space used by those files upon
completion. No disk free space
message will appear.



SUBTREE FIND OPTIONS

Here is a list of the options supported by SF:

Parm Option ON by default
ÄÄÄÄ ÄÄÄÄÄÄ ÄÄÄÄÄÄÄÄÄÄÄÄÄ
Attributes: -a archive *
-h hidden








Page 4








-r read-only *
-s system
-d directory *
-l label

-x all attributes (rhsa)
-e exact match
-m matched files only

Criteria: (min-max) file size, date and/or time

Info: -f free disk space *
-t elapsed time *
-u used disk space *

Search: -1 stop after 1st match
-n no subdirectory tracing
-i FIFO search of subdirectories

Output: -c color
-p[n] pause every n lines
-q quit mode *
-! turn off cursor
-$ use BIOS for output
-& use redirectable output routines

Other: -b keyboard break *
-j jump to subdirectory
-k kill/delete files, NO PROMPT
-v verify before deleting files
-w[n] wait for a keypress when done
{touch} modify file date/time stamp

Help: -? help
-?? extended help



Attributes:
ÄÄÄÄÄÄÄÄÄÄÄ

-a ARCHIVE attribute
-h HIDDEN attribute
-r READ-ONLY attribute
-s SYSTEM attribute

-x toggles all 'normal' attributes (the same as -ahrs)
-d Directory attribute
-l Volume Label attribute

-e EXACT MATCH: all files found must have EXACTLY
the same attributes as those
searched for. The command

SF -hrse \turboc



Page 5








will search the subtree for all files that
have only the Hidden, Read-Only AND System
bits enabled. In this case, if a file has
HR (the system attribute is not enabled)
it will NOT be displayed.

-m MATCH: all files with the matching attributes,
regardless of how their other attributes are
set, will be displayed. Similar to Exact
matching (-e) but less rigorous, match will
find all files with the attributes specified
(turned on.) Similar to the above example,

SF -hrsm \turboc

will search the subtree for all files that have
Hidden,Read-Only, AND/OR System bits enabled.
Unlike exact matching, match will display a file
that only has Hidden and Read-Only (HR) bits on
for the above example.

NOTE: for Match (-m) to work properly, the ARCHIVE flag
is turned OFF when match is specified (-m is
really -ma-). If you wish to match files with the
Archive bit, you must turn it back on in the
command line AFTER match is specified (-ma,
-mhra+, etc.)

Criteria:
ÄÄÄÄÄÄÄÄÄ

(min-max) FILE STAMP: a minimum and/or maximum file
size, date and/or time can be
specified for matching files.
The format for this option
varies from the other options:

([min][-][max])

The following formats are expected:

[prefix]n[suffix]

where

prefix is an optional prefix
forcing the value to be of that
type. Acceptable prefixes are S
(size), D (Date) and T (Time)

n is the value (a number, date
or time)






Page 6








suffix is only valid for a
Size. Optional suffixes are B
(Bytes), K (Kilobytes) and M
(Megabytes)

SF knows that 10K is 10 kilobytes
(10,240 bytes) and 1M is 1 megabyte
(1K * 1K). No decimal is allowed
('512' is 512 bytes but 0.5K is not
valid).

NOTE: The min and max parameters MUST
be separated by a dash. If a
date is given, it MUST be
delimited with slashes.

NOTE: DOS stores file times as hours
(0-23), minutes (0-59) and
seconds divided by 2 (0-28). SF
accepts normal time (10:5:21)
and converts it to DOS' format.
Because of the way DOS stores
the time, 10:5:21 and 10:5:20
are the same.

Info:
ÄÄÄÄÄ

-f FREE DISK SPACE: displays free disk space when
done

-t ELAPSED TIME: the time it took SF to perform the
search will be displayed in
hh:mm:ss:uu format
(hours:minutes:seconds:hundreths of
seconds)

-u USED DISK SPACE: each subdirectory with files
matched will have the total
size of those files listed.
Directory entries have a size
of zero. Upon completion, the
total size of all matched files
will be displayed

Search:
ÄÄÄÄÄÄÄ

-1 JUST ONE MATCH: stops after 1st match

-i FIFO SEARCH: SF keeps a list of all subdirectories
to search and updates this list as new
ones are found. If FIFO
(first-in-first-out) is not enabled the
list will be updated in alphabetical
order. Thus, SF will search the disk a
branch at a time. With FIFO search
turned on, new directories are


Page 7






appended to the list as they are found.
Since the list is traversed in order,
front to back, with FIFO search turned on
the disk will be searched in a level by
level order. In the example SF C:\*.DOC
first the root would be searched, then all
subdirectories of the root, then all
subdirectories of all subdirectories of
the root, etc.

-n NO SUBDIR SEARCH: this option limits the search
to just the subdirectory
specified. Using this option
makes SF perform as a DIR
substitute.

Output:
ÄÄÄÄÄÄÄ

-c COLOR: output will be in color. To change the default
colors, use:

SF -c[[item:color],[item:color]...]

where item is the item you want to change and
color is the new color you want it displayed in.
Multiple entries can be specified, but they must
be separated by a comma.

A list of items:

# Item
Ä ÄÄÄÄ
1 Heading
2 Directory
3 Directory name
4 Volume Label
5 Files
6 Directory totals
7 Post info - Heading
8 Post info - 1
9 Post info - 2
10 Post info - 3
11 Post info - 4
12 Post info - 5
13 Post info - 6
14 Post info - 7
15 Post info - 8
16 Post info - 9
17 Pause message
18 Delete message
19 Jump message
20 Wait message
21 Null - used to 'turn off' color
22 Error - for error messages



Page 8









SF requires color values to be 0-255, entered in
decimal (base 10) format. Hex format is in the
works.

-p[n] PAUSE: like the DOS dir/p option, n lines (default 23
lines) of information will be displayed and SF
will pause until a key is pressed. See PAUSING
THE DISPLAY for more details.

-q QUIET: only subdirectories with matches in them will
be displayed. Helps keep the screen less
cluttered.

-! CURSOR CONTROL: with cursor control enabled SF
will turn the cursor off during
execution. Once done, the
cursor will be restored to its
previous shape

-$ BIOS OUTPUT: normally, output is done by writing
directly to the screen memory. Using
the BIOS for writes is slightly slower,
but sometimes necessary, esp. in
multi-tasking environments.

-& REDIRECTABLE OUTPUT: if you want to redirect output
with DOS' redirection
facilities (i.e. SF >dirlist)
you must use this flag. DOS
cannot redirect what it cannot
see, and without this flag DOS
is totally bypassed. SF will
run significantly slower with
this option, but such is the
price of using DOS.

Other:
ÄÄÄÄÄÄ

[hrsax] SET ATTRIBUTES: this option will actually
change the attributes of
matched files. In addition to
the - and + modifiers, the *
(toggle) modifier can be used.
Be warned, this can do nasty
damage since you could
potentially change the
attributes of every file on you
hard drive. Volume label and
Subdirectory entries are not
affected.






Page 9









-b KEYBOARD BREAK: during execution the keyboard will be
checked after every line displayed on
the screen and when between
subdirectories. See Pausing The Display
for more details

-j JUMP TO SUBDIRECTORY: after each match, you will be
presented with the option to
continue searching, jump to the
drive/subdirectory of the file
found, or stop SF immediately.

-k KILL (DELETE) FILES: with Kill enabled, all matching
files found will be deleted. Be
warned, you could easily delete
many files in a flash. See -v
(Verify) for a similar option.

-v VERIFY BEFORE KILLING FILES: similar to the -k
option, except you
will be prompted
before each file to
confirm the deletion.

-w[n] WAIT FOR KEYPRESS: SF will pause after completion
until a key is pressed. If a
number is specified, SF will
wait until that key is pressed.
Ex: -w32 waits for a space
and then quits (space is ASCII
code 32). Extended keys are
supported (Alt, function keys,
etc.) To determine the wait
code, use this formula:

256 * scan + ascii

where scan is 0 for a normal key
and 1 for an extended key. Useful
for operating SF with DESQview
(tm). If the number entered is
prefixed with a 0 (i.e. -w032) no
message will be displayed when
waiting for a key

{touch} TOUCH: modify the date/time stamp. The format
expected is:

{[prefix]n}

where

prefix is an optional prefix forcing the
value to be of that type. Acceptable
prefixes are D (Date) and T (Time)


Page 10









n is the value (a date or time or
special, see below)

NOTE: If a date is given, it MUST be
delimited with slashes.

NOTE: DOS stores file times as hours
(0-23), minutes (0-59) and seconds
divided by 2 (0-28). SF accepts
normal time (10:5:21) and converts
it to DOS' format. Because of the
way DOS stores the time, 10:5:21
and 10:5:20 are the same.

SPECIAL: @ If a '@' is given as a value,
SF will use the current date
and/or time to touch files. The
prefixes can be used with the
@, so

{d@} only touch date
{t@} only touch time

{@} touch date AND
time

All files will be touched with the same
values during the same execution. So if
you use {@} on you entire disk (why you
would do such a thing is beyond me, but
it illustrates the point), all files will
have the same date and time stamps, even
though SF may have spent several minutes
running.

Special
ÄÄÄÄÄÄ

-g SAVE DEFAULT OPTIONS: the default options can be
permanently changed. The
defaults are stored in the .EXE
file and are modified with this
option. Optional suffixes:

- Off (don't save options)
+ On (same as -g)
* Reset defaults

Needless to say, the -g option
cannot be set on as a default

NOTE: -g* does NOT toggle save
defaults. This is an exception
to the modifier *

-? HELP: oh come on, it's kind of obvious, isn't it?

-?? EXTENDED HELP: more help


Page 11









PAUSING THE DISPLAY

Before each subdirectory is searched, and after each line
displayed is output, these keys are looked for:

ESC - immediately quit SF
any other key - pause the display, wait for a key

When paused, the message

"Program paused; press any key to continue... "

is displayed. Action taken is based on the key pressed:

ESC - immediately quit SF
ENTER - display 1 more line, then pause
any other key - reset the pause counter and resume program



DOS VARIABLES

SF uses the foolowing DOS variables:

SF= used to locate SF.EXE. This should contain the
explicit pathname of SF.EXE (i.e. SET
SF=c:\util\sf.exe) Should only be needed under
DOS 2.x and possibly networks. Try running SF
without this variable, and if SF will not run,
try setting it. If problems still persist, let
me know. (See Information/Requirements for
further information).

SFOPT= used to set options. Options are parsed in the
following order:

defaults (saved in file)
DOS environment variable SFOPT
command line

For example, SET SFOPT=p50n will force SF to
pause every 50 lines and only display a single
directory, unless overruled at the command line.












Page 12








INFORMATION / REQUIREMENTS

SF needs 128K and DOS 3.x, given the folowing provisions:

SF can probably run under DOS 2.x, if the SET SF= is used. In
earlier versions, I heard some faint rumors about
difficulties running under a network, but never could get a
solid answer. I'm going to get a bit technical, so if you
don't understand what I'm talking about, don't worry. Just
skip ahead and if you have any problems let me know.

I save the default parameters at the end of the .EXE file,
and read them at the start of execution. To find the .EXE
file, I use argv[0], which, so I hear, is not available
under DOS 2.x. To help prevent this problem, I have
included the DOS variable SF= which is used before
referring to argv. Theoretically, if argv[0] is not
available, using the SF= should allow execution. If this
'problem' persists, let me know and I'll see what I can
do.

SF needs anywhere from 109K to 168K, supposedly. Unless you
have a very large drive with a very large directory, 128K
should suffice. If you encounter difficulties (say, under
DESQview), try enlarging the memory available.

SF was compiled with the interactive version of Turbo C 2.0 in the
SMALL memory model, optimized on SPEED, with all optimizations and
MERGE DUPLICATE STRINGS turned on. Many of the routines were
linked in from TCHK, a shareware Turbo C library I have recently
recompiled under TC 2.0, soon to be available. I have tested SF on
my system rather thoroughly, although this does not guarantee you
won't have problems. If you have difficulties, feel free to
contact me.

My system:

- IBM PC
- DOS 3.2
- 640K RAM
- 2 Seagate ST225 20MB hard drives
- NEC V20 cpu
- PC Sprint (dandy little speed up plug in. No slot,
hardware switch for normal (4.77) and fast (~7) MHz speeds
and reboot. Between the board and the NEC my machine plods
along almost 2x as fast as a normal PC. At only $95, I
highly recommend it. Call these guys for more info:

Product: PC Sprint and/or NEC V20
Exec-PC, Inc.
PO BOX 11268
Shorewood, WI 53211
VOICE: (414) 963-2880
MODEM: (414) 964-5160




Page 13











UPDATES / RELEASES

Version 1.0 - 4/29/88
- Initial release

Version 2.0 - 5/18/88
- changed: old -t now covered by -u
- new: -t option, elapsed time
- new: -b option, break/keyboard pausing (for speed)
- new: # subdirectories searched displayed at end
- new: -1 option (stop after 1st match)
- changed: text output cleaned up (1 File, 20 Files)
- new: -c option, ANSI color
- new: -i option
- new: -! option
- new: (min-max) filesize option
- new: -q option, quiet
- new: -k option, kill (delete) files found
- new: -v option, verify before kill (delete) files found
- new: -j option, jump to subdirectory
- new: -w[0n] option, if leading zero, suppress 'waiting for
key' message
- new: [rhsax] option, set attributes (off/on/toggle) (-+*)

Version 2.1 - 5/26/88
- new: -g option, make permanent defaults (-+*)
- changed: previously kill file would automatically turn off
the Read-Only attribute if necessary to delete. Not the
safest of practices, it now will give error msg and not
delete
- new: added ERROR color for error messages
- changed: any prompts (Jump, Delete, etc.) now clear the
typeahead buffer first
- new: -?? extended help option
- fixed: unnecessary returns were being output for files
that didn't match, changed method of output/displaying
- fixed: wouldn't display .. entry in some cases (SF *.)

Version 2.2 - 6/9/88
- new: touch date/time stamp {touch}
- new: (min-max) now handles file date and time also
- fixed: the b- option wouldn't always work, due to change
in code for 2.1
- fixed: added checking for no more available memory during
search of large branches (SF uses dynamic memory
allocation to keep track of its search tree)
- changed: added ESC (quit) option during extended help pause
- fixed: occasionally the cursor would change to a full
block with the cursor control option (-!). I fixed the
hide cursor routine





Page 14








- changed: I used the Merge Duplicate Strings Option in
Turbo C to reduce the .EXE size by a few K
- changed: most output has been speeded up
- fixed: if the -w option was used with the message "Press
key # to end", the key code was wrong
- changed: during "Save Options (Y/N)", ESC will be accepted
as No
- changed: only - is a valid min/max separator
- fixed: If a filespec ended with a 1 letter filename (i.e.
C:\COMM\Z where Z is a filename) SF would think it was
part of the path and not find any matches. The code to
check directories had a bug in it which is now corrected.
- fixed: in the output, the file date was missing 80 years
(i.e. a file with the date 4-1-88 was being displayed as
04-01-08). All DOS dates are stored as the year since 1980
and I forgot to add the 80 years back on. Now fixed
- "fixed": extended help erroneously said "file size, date
and/or time" because date and time were not supported
until now. I "fixed" this by supporting date and time
- changed: earlier versions would modify files (i.e.
attributes) before displaying them. If you wanted to
change all found files to Hidden, when a matching file was
found it would be changed to Hidden, and then it would be
output. Now I display the file as it was before SF gets
its hands on it.

Version 2.21 - 8/6/88
- fixed: when calling SF from the root directory, to operate
on the root directory, no files would be found unless you
explicitly gave it the path (i.e. \s*.* c:\ c:\*.bak
etc.) Works properly now (I didn't notice this because I
hardly ever use it in the root directory)
- changed: if you try to delete a Read-Only file, you can
now try to change the attribute before deleting it

Version 2.3 - 10/24/88
- changed: compiled under Turbo C 2.0
- fixed: touch feature works (current year, not year+60).
Forgot filestamp and DOS date years are not stored the
same (year-1980 and year, respectively)
- changed: all output now uses console i/o unless explicitly
told to use redirectable output (-&). Using console i/o
increases SF speed immensely (i/o was the major
bottleneck)
- new: output via BIOS (-*) if using console i/o
- new: SET SF=pathname to find SF.EXE
- new: SET SFOPT=options
- new: displays logical size (allocated disk space) as well
as physical size (bytes)
- changed: the command line may have options before and/or
after a filespec (SF [options] [filespec] [options])







Page 15








- changed: internal coding has been rearranged. Benefits
include easier processing of the command line, faster
throughput, color/redirectable output, and easier to
upgrade to handle multiple filespecs
- fixed: bug in -T option (would automatically turn pause
mode on)
- fixed(?): bug(?) in earlier versions - would not delete
- fixed: pause after n lines (p[n] pause after n lines) now
works properly (accomplished as a byproduct of console i/o
/ redirectable output). Problem: n must be greater than 3
or else unpredicable results may occur (not a bug, just
imperfect)
- fixed: bug in earlier versions - {@} would not accept
modifiers ({d@} and {t@} would not work)

Version 3.01 - 10/26/88
- new: any option followed by a * is toggled (except the
Save defaults option. If Save defaults is followed by a *,
they are reset.) To accomodate this, the BIOS option
(previously *) has been changed to a dollar sign ($). The
following options do NOT yet support the * modifier:
k(ill)
p(ause)
t(ime elaped)
v(erify deletes)
w(ait for key)
- changed: the documentation has been updated. In 2.3,
several references were made to a version 3.0, which does
not exist. Originally intended to be released as 3.0,
there were not enough substantive changes to warrant an
increase by a whole version number, so I titled it 2.3.
Sorry if this caused you any confusion.




FUTURE RELEASES

I've got some features I'll be adding in the immediate future, and
some that are no more than twinklings of ideas. They're listed in
roughly the order I plan to implement them in.

- Toggle: finish implementing the toggle modifier.

- ARChive: a future version of SF will search not only
directories but .ARC files as well

- Output: I'd like to have optional forms of output (i.e.
only filenames, no attributes, etc.) but how to do this
without sacrificing speed is a problem. If I were to muck
around with that routine, the performance would most
likely suffer. I'll have to see what can be done






Page 16









Multiple filespecs: SF could search multiple branches
during a single run

Exclude: SF could search all filespecs EXCEPT those that
are explicitly excluded (i.e. search for all files
matching C:\TURBOC\S*.* and exclude those files matching
*.OBJ)



ABOUT THE AUTHOR

I am a senior at Rensselaer Polytechnic Institute majoring in
Computer Science. Since I don't graduate until May '89, my main
source of income is my savings account. If you are in the Long
Island, New York City, and/or Troy/Albany area, I do micro
consulting and custom program design. If you're interested, I can
be reached at the addresses below.



OTHER PRODUCTS

Here's a list of some other shareware products I have written:

COOKIE 1.2 - Fortune cookie, gives you a random fortune from a
cookie file. Lots of options and distributed with
2800 cookies of mixed content (rated G - X)

DCOUNT 1.2 - Document/Text file info, find out all kinds of
information like # words, lines, pages, control
characters, etc. Many options.

FREE 1.3 - Free disk space, with options. Distributed with
full Turbo C source.

TCHK 0.70 - a Turbo C library, featuring date, time and string
manipulations, keyboard and video routines,
hardware and software identification, ANSI,
multitasking, math, financial, DOS, and menu
functions, and much more. Version 1.00 to support
TC 2.0 available soon



SUPPORT

Thanks to the graciousness of the sysop at The BOSS, I now have
easier access to his BBS. The latest versions of my software can
be found there.







Page 17









If there are some features you would like to see implemented, or
you have any questions or comments, please contact me. I can be
reached at the following:

HOME COLLEGE
ÄÄÄÄ ÄÄÄÄÄÄÄ
Howard Kapustein Howard Kapustein
1695 Barbara Lane 404 Davison Hall
East Meadow, NY 11554 Rensselaer Polytechnic Institute
Phone: (516) 481-9612 Troy, NY 12180
Phone: (518) 276-7381

or at the following electronic services/bulletin boards:

Compuserve 74010,1160
The Boss dBBS (201) 568-7293 *** Support BBS ***
Software Society (201) 729-7410 Distribution BBS
Computer Connection (202) 547-2008 Distribution BBS


These are the places I can be reached by modem. SF (and all other
software I release) is supported through The BOSS.

If you try to get in touch with me during the school year (roughly
Sep 1 - May 10, not counting winter break) PLEASE try to reach me
at college. If you call my home odds are you won't get much
information. My parents aren't exactly what you would call
computer people.





























Page 18




  3 Responses to “Category : File Managers
Archive   : SF310.ZIP
Filename : SF.DOC

  1. Very nice! Thank you for this wonderful archive. I wonder why I found it only now. Long live the BBS file archives!

  2. This is so awesome! 😀 I’d be cool if you could download an entire archive of this at once, though.

  3. But one thing that puzzles me is the “mtswslnkmcjklsdlsbdmMICROSOFT” string. There is an article about it here. It is definitely worth a read: http://www.os2museum.com/wp/mtswslnk/