Dec 282017
File “finder” / dir alternate, interesting options!. | |||
---|---|---|---|
File Name | File Size | Zip Size | Zip Type |
README | 13205 | 4606 | deflated |
SF-PIF.DVP | 416 | 103 | deflated |
SF.DOC | 49924 | 13473 | deflated |
SF.EXE | 78054 | 40893 | deflated |
SF.REG | 2203 | 633 | deflated |
SFPERF.DOC | 12367 | 3412 | deflated |
Download File SF310.ZIP Here
Contents of the README file
Readme file update for Subtree Find 3.10 Tuesday December 27, 1988
OK, this release has numerous little changes and bug fixes, but here's
the big news:
SF can now search for files inside of .ARCs. The new options -y and
-z allow you to search inside .ARC files also (-y) or only (-z). Any files
inside .ARCs are displayed in the standard format, as per PKUNPAK/v,
in the following order:
Filename.ext compressed_size method(#) real_size date time CRC
where
Filename.ext = the file found
compressed_size = the compressed size of the file, in bytes
method(#) = the compression method (and equivalent method number)
real_size = the uncompressed size of the file, in bytes
date, time = the date/time stamp of the file
CRC = the 16-bit CRC for the file
Note that any files found inside .ARChives will not increase the
total number of files found or the total size of files found. Suppose you
had the file SF310.ARC, which has inside it SF.EXE, SF.DOC and README.
With a command line of SF/y S*.* you will find a file match in SF310.ARC,
and then inside the .ARC you will also find SF.EXE and SF.DOC. Upon
completion, SF will say it found 1 file. I'm currently working on a file
counter set for inside .ARChives, but time is scarce right now.
Subtree Find should be distributed as an .ARChive containing the
following files:
README 13205 12-27-88 7:09p
SF DOC 49924 10-26-88 1:30a
SF EXE 78054 12-27-88 7:09p
SF REG 2203 12-27-88 7:09p
SF-PIF DVP 416 10-26-88 1:30a
SFPERF DOC 12367 10-26-88 1:30a
No more, no less. If any files are missing, added, or have different
sizes or date stamps, it is an invalid method of distribution and you
would be best off if you just threw the entire thing away and picked up
a reliable archive. See SF.DOC for a list of distribution points.
Changes to Subtree Find since 3.01:
- new: -y and -z options, to search .ARC files also/only
- new: the option -# will now warn the user if the filespec *.*
is about to be used. After accidentally deleting part of a hard
drive, this option was requested. Sorry Mark. As the documentation
clearly warns, using the /k option can potentially WIPE YOUR
ENTIRE HARD DRIVE!
- new: SF is now more DESQview aware. During keyboard waits,
SF will now free its time slice
- changed: the extended help information (-??) once again displays
the current color settings, in true color if the redirectable
option (-&) is not hard coded. In addition, the Compuserve id
is no longer listed (sorry, but CIS costs a fortune, well beyond
a poor college student's meager means)
- fixed: touch {} and set attributes [] no longer modify directories
or labels. It can be done, but I'm not quite sure how yet. Look
for this in a future release
- fixed: Jump now allows you to jump to the directory containing
a match, regardless of what type of file it is (older versions
wouldn't jump if a subdirectory or label was found)
- changed/fixed: all options now support the toggle suffix (*).
In version 3.01, the cpkvw options did not allow the * suffix
- changed: tweaking of code for speed and .ARC file handling
- fixed: in the middle of a scan, esp. in color mode, hitting ESC
would cause SF to end, but leave the color set to blank on black,
without a cursor, until a CLS was done. A typo in the code was
referencing one too many elements of an array, and the next byte
just happened to be zero (the attribute of black on black).
- fixed: the Error color was accidentally not defined, so a random
byte was being used instead. This was especially noticeable in
Kill Read-Only files
- fixed: a command line of SF /k/b was giving an error due to the
extra slash in the middle. In scanning an option string, any
extraneous slashes are ignored
Current bugs:
- the touch {} parsing code has a bug that will not allow you to
specify seconds. However, an explicit time without seconds is
an error. The whole date/time parsing code is soon to be
rewritten for greater user flexibility
Here's a quick list of all possible error codes SF can return. You can
test for these via the ERRORLEVEL batch command:
0: Normal end of execution, no errors
1: End after 1st match
2: Error, Unknown parameter
3: Help (-?)
4: SF aborted by user via ESC during file list
5: SF aborted by user via ESC during pause
6: SF end of execution by Wait for key (-w)
7: Error, Missing closing parenthesis
8: Error, Missing parameter in parenthesis
9: Error, Unknown parameter in parenthesis
10: Error, Invalid parameter in parenthesis
11: Error, Invalid filesize range specified
12: Extended help (-??)
13: SF aborted by user via ESC during delete
14: Error, Invalid parameters: can't delete subdirectories
15: Error, Invalid parameters: can't delete volume labels
16: SF aborted by user via ESC during jump
17: SF end of execution by Jump (-j)
18: Error, Missing closing bracket
19: Error, error changing attribs
20: Error, Invalid parameter in -c, missing :
21: Error, Invalid parameter in -c, missing color
22: Error, Invalid paramter in -c, only color settings 1-24 may be selected
23: Error, Invalid paramter in -c, color values must be 0-255
24: Error, can't get handle to SF file to read options
25: Error, Error reading options: file possibly damaged
26: Error, Can't initialize options
27: Error, can't get handle to SF file to write options
28: Error, Can't save options
29: Error, can't save options
30: Error, Options not saved
31: Error, can't get access to initialize options
32: Error, No more available memory. Disk too big
33: SF aborted by user via ESC during extended help pause
34: Error, Missing closing brace
35: Error, Invalid time format for touch
36: Error, Invalid date format for touch
37: Error, Invalid time format for touch
38: Error, Invalid date format for touch
39: Error, Error: braces but no touch paramter
40: Error, Invalid time separator in touch
41: Error, Invalid date separator in touch
42: Error, Invalid touch format, unknown touch date or time
43: Error, Invalid date touch parameter. Must be dd/mm/yy
44: Error, Invalid time touch parameter. Must be hh:mm:ss
45: Error, Invalid touch date (month must be 1-12)
46: Error, Invalid touch time (hour must be 0-23)
47: Error, Invalid touch time (minutes must be 0-59)
48: Error, Invalid touch time (seconds must be 0-59)
49: Error, can't get access to initialize options
50: Error, Invalid min date parameter. Must be dd/mm/yy
51: Error, Invalid min time parameter. Must be hh:mm:ss
52: Error, Invalid min date (month must be 1-12)
53: Error, Invalid min time (hour must be 0-23)
54: Error, Invalid min time (minutes must be 0-59)
55: Error, Invalid min time (seconds must be 0-59)
56: Error, Invalid max date parameter. Must be dd/mm/yy
57: Error, Invalid max time parameter. Must be hh:mm:ss
58: Error, Invalid max date (month must be 1-12)
59: Error, Invalid max time (hour must be 0-23)
60: Error, Invalid max time (minutes must be 0-59)
61: Error, Invalid max time (seconds must be 0-59)
62: Error, Invalid filedate range specified
63: Error, Invalid filetime range specified
64: SF aborted by user via ESC during delete Read-Only file prompt
65: Error, Can't find SF.EXE
66: Error, SF only supports 1 filespec
67: Error, Error: parameter delimiter ('/') missing paramter command
68: Error, SF aborted by user during *.* warning prompt
69: Error, Invalid parameters: can't delete files from .ARChives
And lastly, a quick list of the possible color settings:
1 Heading 13 Post Info 6
2 Directory 14 Post Info 7
3 Directory Name 15 Post Info 8
4 Label 16 Post Info 9
5 File 17 Pause Message
6 Directory Total 18 Delete Message
7 Post Heading 19 Jump Message
8 Post Info 1 20 Wait Message
9 Post Info 2 21 NULL
10 Post Info 3 22 Error
11 Post Info 4 23 ARC File
12 Post Info 5 24 ARC Warning
A quick note regarding the .ARC format and SEA:
Recently there has been a great turmoil in the BBS community
over SEA's insistence that the .ARC format is proprietary, and that
anyone planning on using the .ARC format must license through them.
The legality of this has not yet been tested. Unfortunately, where
there was a standard, we are now seeing confusion and fragmentation.
Phil Katz, the author of PKPAK and PKUNPAK (previously PKARC and
PKXARC) is hard at work on a new compression program that supposedly
will yield greater results than the current .ARC format. Considering
the talent involved, and the potential upon deviating from SEA's .ARC
format, I do not find this surprising. The last I heard, his new program
will be released on IBM micros, the Amiga and Unix, at least. Sadly,
I have not heard of any potential Macintosh release, but hopefully
if his program takes off, he will port it over. Since it will have a
single de/compression engine, and a command line and shell version
will be released, I have no doubt it will become popular. Especially
since he plans on making the format public domain.
What does all this mean to me? Well, right now I do not know if
I am violating any laws by merely looking inside .ARC files. Since
most word processors can read from other formats, I doubt it, otherwise
Micropro could sue everyone and his mother for illegally using the
Wordstar format. When PK announces his new compression scheme,
I plan on supporting it, since there is very little doubt that his
new program will be a success. In the meantime, I would be interested
to learn if other authors of .ARC readers (Keith Graham's Fast [File]
Finder, to name one) have been contacted by SEA.
Howard Kapustein
Author of Subtree Find, TCHK and more
Readme file for Subtree Find 3.01 Tuesday October 25, 1988
Just a couple of last minute notes that didn't make it into
the documentation. SF uses 2 separate search routines, depending
on certain options. I found that one generic search function was
too slow for most uses, so I 'cheated'. If you just do searching
(no modifying files or funky options like jumping or deleting) a
slightly faster search routine is used. The following options MUST
be off for the optimized search routine to be used:
-m Match
-e Exact
[] Change attributes
-k Kill/delete
-v Kill/delete with verify
-j Jump to subdir
-1 Stop after 1st match
{} Touch
If any of these options are used, SF will run approximately 10%-20% slower.
Also, SF will now display the disk space allocated to a file as well
as the actual byte size. Under DOS, a file is allocated a disk block,
regardless whether all of it is used. If you have 100 files, each about
5 bytes long, DOS will still allocate 100 blocks. Not bad, you say. Well,
the disk block sizes are 4K for DOS 2.x and 2K for DOS 3.x. Now those
puny 5 byte files are each taking up 2K or more! So instead of 100 files
using 500 bytes, they're actually using 200K! The total K allocated is
a measure of the disk space allocated to files, while the byte count
(as per DOS) is merely a total of the bytes used.
Subtree Find should be distributed as an .ARChive containing the
following files:
README 2116 10-26-88 1:30a
SF DOC 49924 10-26-88 1:30a
SF EXE 70021 10-26-88 1:30a
SF REG 2203 10-26-88 1:30a
SF-PIF DVP 416 10-26-88 1:30a
SFPERF DOC 12367 10-26-88 1:30a
No more, no less. If any files are missing, added, or have different
sizes or date stamps, it is an invalid method of distribution and you
would be best off if you just threw the entire thing away and picked up
a reliable archive. See SF.DOC for a list of distribution points.
Howard Kapustein
OK, this release has numerous little changes and bug fixes, but here's
the big news:
SF can now search for files inside of .ARCs. The new options -y and
-z allow you to search inside .ARC files also (-y) or only (-z). Any files
inside .ARCs are displayed in the standard format, as per PKUNPAK/v,
in the following order:
Filename.ext compressed_size method(#) real_size date time CRC
where
Filename.ext = the file found
compressed_size = the compressed size of the file, in bytes
method(#) = the compression method (and equivalent method number)
real_size = the uncompressed size of the file, in bytes
date, time = the date/time stamp of the file
CRC = the 16-bit CRC for the file
Note that any files found inside .ARChives will not increase the
total number of files found or the total size of files found. Suppose you
had the file SF310.ARC, which has inside it SF.EXE, SF.DOC and README.
With a command line of SF/y S*.* you will find a file match in SF310.ARC,
and then inside the .ARC you will also find SF.EXE and SF.DOC. Upon
completion, SF will say it found 1 file. I'm currently working on a file
counter set for inside .ARChives, but time is scarce right now.
Subtree Find should be distributed as an .ARChive containing the
following files:
README 13205 12-27-88 7:09p
SF DOC 49924 10-26-88 1:30a
SF EXE 78054 12-27-88 7:09p
SF REG 2203 12-27-88 7:09p
SF-PIF DVP 416 10-26-88 1:30a
SFPERF DOC 12367 10-26-88 1:30a
No more, no less. If any files are missing, added, or have different
sizes or date stamps, it is an invalid method of distribution and you
would be best off if you just threw the entire thing away and picked up
a reliable archive. See SF.DOC for a list of distribution points.
Changes to Subtree Find since 3.01:
- new: -y and -z options, to search .ARC files also/only
- new: the option -# will now warn the user if the filespec *.*
is about to be used. After accidentally deleting part of a hard
drive, this option was requested. Sorry Mark. As the documentation
clearly warns, using the /k option can potentially WIPE YOUR
ENTIRE HARD DRIVE!
- new: SF is now more DESQview aware. During keyboard waits,
SF will now free its time slice
- changed: the extended help information (-??) once again displays
the current color settings, in true color if the redirectable
option (-&) is not hard coded. In addition, the Compuserve id
is no longer listed (sorry, but CIS costs a fortune, well beyond
a poor college student's meager means)
- fixed: touch {} and set attributes [] no longer modify directories
or labels. It can be done, but I'm not quite sure how yet. Look
for this in a future release
- fixed: Jump now allows you to jump to the directory containing
a match, regardless of what type of file it is (older versions
wouldn't jump if a subdirectory or label was found)
- changed/fixed: all options now support the toggle suffix (*).
In version 3.01, the cpkvw options did not allow the * suffix
- changed: tweaking of code for speed and .ARC file handling
- fixed: in the middle of a scan, esp. in color mode, hitting ESC
would cause SF to end, but leave the color set to blank on black,
without a cursor, until a CLS was done. A typo in the code was
referencing one too many elements of an array, and the next byte
just happened to be zero (the attribute of black on black).
- fixed: the Error color was accidentally not defined, so a random
byte was being used instead. This was especially noticeable in
Kill Read-Only files
- fixed: a command line of SF /k/b was giving an error due to the
extra slash in the middle. In scanning an option string, any
extraneous slashes are ignored
Current bugs:
- the touch {} parsing code has a bug that will not allow you to
specify seconds. However, an explicit time without seconds is
an error. The whole date/time parsing code is soon to be
rewritten for greater user flexibility
Here's a quick list of all possible error codes SF can return. You can
test for these via the ERRORLEVEL batch command:
0: Normal end of execution, no errors
1: End after 1st match
2: Error, Unknown parameter
3: Help (-?)
4: SF aborted by user via ESC during file list
5: SF aborted by user via ESC during pause
6: SF end of execution by Wait for key (-w)
7: Error, Missing closing parenthesis
8: Error, Missing parameter in parenthesis
9: Error, Unknown parameter in parenthesis
10: Error, Invalid parameter in parenthesis
11: Error, Invalid filesize range specified
12: Extended help (-??)
13: SF aborted by user via ESC during delete
14: Error, Invalid parameters: can't delete subdirectories
15: Error, Invalid parameters: can't delete volume labels
16: SF aborted by user via ESC during jump
17: SF end of execution by Jump (-j)
18: Error, Missing closing bracket
19: Error, error changing attribs
20: Error, Invalid parameter in -c, missing :
21: Error, Invalid parameter in -c, missing color
22: Error, Invalid paramter in -c, only color settings 1-24 may be selected
23: Error, Invalid paramter in -c, color values must be 0-255
24: Error, can't get handle to SF file to read options
25: Error, Error reading options: file possibly damaged
26: Error, Can't initialize options
27: Error, can't get handle to SF file to write options
28: Error, Can't save options
29: Error, can't save options
30: Error, Options not saved
31: Error, can't get access to initialize options
32: Error, No more available memory. Disk too big
33: SF aborted by user via ESC during extended help pause
34: Error, Missing closing brace
35: Error, Invalid time format for touch
36: Error, Invalid date format for touch
37: Error, Invalid time format for touch
38: Error, Invalid date format for touch
39: Error, Error: braces but no touch paramter
40: Error, Invalid time separator in touch
41: Error, Invalid date separator in touch
42: Error, Invalid touch format, unknown touch date or time
43: Error, Invalid date touch parameter. Must be dd/mm/yy
44: Error, Invalid time touch parameter. Must be hh:mm:ss
45: Error, Invalid touch date (month must be 1-12)
46: Error, Invalid touch time (hour must be 0-23)
47: Error, Invalid touch time (minutes must be 0-59)
48: Error, Invalid touch time (seconds must be 0-59)
49: Error, can't get access to initialize options
50: Error, Invalid min date parameter. Must be dd/mm/yy
51: Error, Invalid min time parameter. Must be hh:mm:ss
52: Error, Invalid min date (month must be 1-12)
53: Error, Invalid min time (hour must be 0-23)
54: Error, Invalid min time (minutes must be 0-59)
55: Error, Invalid min time (seconds must be 0-59)
56: Error, Invalid max date parameter. Must be dd/mm/yy
57: Error, Invalid max time parameter. Must be hh:mm:ss
58: Error, Invalid max date (month must be 1-12)
59: Error, Invalid max time (hour must be 0-23)
60: Error, Invalid max time (minutes must be 0-59)
61: Error, Invalid max time (seconds must be 0-59)
62: Error, Invalid filedate range specified
63: Error, Invalid filetime range specified
64: SF aborted by user via ESC during delete Read-Only file prompt
65: Error, Can't find SF.EXE
66: Error, SF only supports 1 filespec
67: Error, Error: parameter delimiter ('/') missing paramter command
68: Error, SF aborted by user during *.* warning prompt
69: Error, Invalid parameters: can't delete files from .ARChives
And lastly, a quick list of the possible color settings:
1 Heading 13 Post Info 6
2 Directory 14 Post Info 7
3 Directory Name 15 Post Info 8
4 Label 16 Post Info 9
5 File 17 Pause Message
6 Directory Total 18 Delete Message
7 Post Heading 19 Jump Message
8 Post Info 1 20 Wait Message
9 Post Info 2 21 NULL
10 Post Info 3 22 Error
11 Post Info 4 23 ARC File
12 Post Info 5 24 ARC Warning
A quick note regarding the .ARC format and SEA:
Recently there has been a great turmoil in the BBS community
over SEA's insistence that the .ARC format is proprietary, and that
anyone planning on using the .ARC format must license through them.
The legality of this has not yet been tested. Unfortunately, where
there was a standard, we are now seeing confusion and fragmentation.
Phil Katz, the author of PKPAK and PKUNPAK (previously PKARC and
PKXARC) is hard at work on a new compression program that supposedly
will yield greater results than the current .ARC format. Considering
the talent involved, and the potential upon deviating from SEA's .ARC
format, I do not find this surprising. The last I heard, his new program
will be released on IBM micros, the Amiga and Unix, at least. Sadly,
I have not heard of any potential Macintosh release, but hopefully
if his program takes off, he will port it over. Since it will have a
single de/compression engine, and a command line and shell version
will be released, I have no doubt it will become popular. Especially
since he plans on making the format public domain.
What does all this mean to me? Well, right now I do not know if
I am violating any laws by merely looking inside .ARC files. Since
most word processors can read from other formats, I doubt it, otherwise
Micropro could sue everyone and his mother for illegally using the
Wordstar format. When PK announces his new compression scheme,
I plan on supporting it, since there is very little doubt that his
new program will be a success. In the meantime, I would be interested
to learn if other authors of .ARC readers (Keith Graham's Fast [File]
Finder, to name one) have been contacted by SEA.
Howard Kapustein
Author of Subtree Find, TCHK and more
Readme file for Subtree Find 3.01 Tuesday October 25, 1988
Just a couple of last minute notes that didn't make it into
the documentation. SF uses 2 separate search routines, depending
on certain options. I found that one generic search function was
too slow for most uses, so I 'cheated'. If you just do searching
(no modifying files or funky options like jumping or deleting) a
slightly faster search routine is used. The following options MUST
be off for the optimized search routine to be used:
-m Match
-e Exact
[] Change attributes
-k Kill/delete
-v Kill/delete with verify
-j Jump to subdir
-1 Stop after 1st match
{} Touch
If any of these options are used, SF will run approximately 10%-20% slower.
Also, SF will now display the disk space allocated to a file as well
as the actual byte size. Under DOS, a file is allocated a disk block,
regardless whether all of it is used. If you have 100 files, each about
5 bytes long, DOS will still allocate 100 blocks. Not bad, you say. Well,
the disk block sizes are 4K for DOS 2.x and 2K for DOS 3.x. Now those
puny 5 byte files are each taking up 2K or more! So instead of 100 files
using 500 bytes, they're actually using 200K! The total K allocated is
a measure of the disk space allocated to files, while the byte count
(as per DOS) is merely a total of the bytes used.
Subtree Find should be distributed as an .ARChive containing the
following files:
README 2116 10-26-88 1:30a
SF DOC 49924 10-26-88 1:30a
SF EXE 70021 10-26-88 1:30a
SF REG 2203 10-26-88 1:30a
SF-PIF DVP 416 10-26-88 1:30a
SFPERF DOC 12367 10-26-88 1:30a
No more, no less. If any files are missing, added, or have different
sizes or date stamps, it is an invalid method of distribution and you
would be best off if you just threw the entire thing away and picked up
a reliable archive. See SF.DOC for a list of distribution points.
Howard Kapustein
December 28, 2017
Add comments