home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
High Voltage Shareware
/
high1.zip
/
high1
/
DIR3
/
FFG153.ZIP
/
FFG.DOC
< prev
next >
Wrap
Text File
|
1993-08-04
|
56KB
|
1,530 lines
File Finder/Grouper (FFG)
Version 1.53
Shareware Manual
Copyright 1992-1993 Thomas G. Vavoso
President, EnGamma
All Rights Reserved
2407 Cameron Mills Rd.
Alexandria, Va. 22302-3302
Telephone (703)548-6869
Compuserve: 71674,1747
GEnie: T. Vavoso
File Finder/Grouper (FFG) performs three basic functions:
1) Searches disks/archive files for files based on flexible
user-specified search criteria
2) Groups files for subsequent batch processing as a unit.
3) Groups files for building databases of files
If you think you already have a utility program that fills these
functions, try the DEMO programs and read the section "FFG
Compared to Other File Finders", before you decide to put FFG
aside.
If you want to start using FFG right away read the "Quick Start"
section below. Otherwise, skip to "Introduction".
Be sure to read the "Shareware" notice on the next page.
File Finder/Grouper 1 (c) EnGamma
Shareware
Shareware distribution gives users a chance to try software
before buying it. If you try a shareware program and continue
using it, you are expected to register. Individual programs
differ on details -- some request registration while others
require it, some specify a maximum trial period. With
registration, you get anything from the simple right to continue
using the software to an updated program with printed manual.
Copyright laws apply to both shareware and commercial
software, and the copyright holder retains all rights, with a few
specific exceptions as stated below. Shareware authors are
accomplished programmers, just like commercial authors, and the
programs are of comparable quality. (In both cases, there are
good programs and bad ones!) The main difference is in the
method of distribution. The author specifically grants the right
to copy and distribute the software, either to all and sundry or
to a specific group. For example, some authors require written
permission before a commercial disk vendor may copy their
shareware.
Shareware is a distribution method, not a type of software.
You should find software that suits your needs and pocketbook,
whether it's commercial or shareware. The shareware system makes
fitting your needs easier, because you can try before you buy.
And because the overhead is low, prices are low also. Shareware
has the ultimate money-back guarantee -- if you don't use the
product, you don't pay for it.
e FFG is a copyrighted shareware program by Thomas G. Vavoso,
President, EnGamma. The evaluation edition of FFG is offered at
no chargeto any potential user for evaluation. Feel free to
share the evaluation edition with your friends and associates,
but please do not give it away altered or as part of another
system. The essence of "user-supported" software is to provide
personal computer users with quality software without high
prices, and yet to provide incentive for programmers to continue
to develop new products.
Disclaimer of Warranty
Users of FFG must accept this disclaimer of warranty: FFG is
supplied as-is. The author disclaims all warranties, expressed
or implied, including, without limitation, the warranties of
merchantability and of fitness for any purpose. The author
assumes no liability for damages, direct or consequential, which
may result from the use of FFG.
File Finder/Grouper 2 (c) EnGamma
Quick Start
1. Demonstrations - The quickest way to become familiar with FFG
or to get ideas for possible uses is run the DEMO program
(DEMO.BAT). Go to the disk and directory with the demo batch
files in it and enter:
demo
2. Command Syntax
USAGE: FFG [DriveSpec:][PathSpec]NameMask[,NameMask2...][\] [options]
"NameMask" can contain one or more extended DOS wild card
characters to specify the file name:"
* = matches any string of zero or more characters"
? = matches any one character
"DriveSpec" can be more than a simple drive letter:
- If a '*' is substituted for a drive letter, all but A: & B:
are searched and redundant logical (substitute) drives are
skipped.
- Multiple drives can be explicitly specified (e.g., A-D:,
BDF:).
- Drives listed after the '*' are excluded (e.g., *M: searches
all but M:).
- To search for directories instead of files, put a '\' after
the NameMask
- Pressing <ESC> will stop the search. Pressing 'G' will go to
(Change Dir) the last found file. Pressing any other key will
pause the search operation.
- Either '-' or '/' are acceptable command line option switches.
- Options may be in any order, before or after the Search Mask.
- There should be no spaces between option switches and their
parameters.
3. Built-in Help/Examples - To get a listing of options and
command syntax, at the DOS prompt enter:
ffg
4. Finding a File on the Current Drive - To find a file anywhere
on the current drive enter:
FFG filename.ext
where "filename.ext" is the name of the file you want to find.
5. Finding a File on All Hard Drives - To find a file anywhere
on hard drives connected to your system enter:
File Finder/Grouper 3 (c) EnGamma
FFG *:filename.ext
where the '*' is interpreted to mean all non-logical disk
drives except A: and B:, which are assumed to be floppy
drives.
6. Finding a File on All Drives (including floppies) - To find a
file anywhere on the system drives enter:
ffg ab*:filename.ext
where "ab*" is interpreted to mean search drives A: and B: plus
all hard drives.
7. Searching Inside Archive Files (e.g., .ZIP files) - To search
all drives and inside all archive files on those drives type:
ffg *:filename.ext /z
File Finder/Grouper 4 (c) EnGamma
Introduction
To get a quick idea of FFG's capabilities run the batch files
included in DEMOBAT.ZIP.
Here is a basic list of features:
- Perform filename searches using extended DOS wild card
characters * and ?. For example you can file all files with
"doc" anywhere in the name. This search is not possible using
standard DOS wildcard conventions.
- Easily search all disk drives or only selected drives.
- Search for files based on file name, date, time, size, and
attributes (hidden/system/read only/archive)
- Searches popular archive/compressed file formats such as those
created with PKZip.
- Can execute an arbitrary DOS command for each found file.
- Versatile and Customizable Output Formats:
- Standard columnar output, which is a basic fixed field
output of the various file information items:
FILENAME.EXT 12345 1/01/92 23:59 HSRA C:\DIRECT\SUBDIR
- Packed format, which allows formation of list files for
subsequent processing (e.g., PKZip @file):
C:\DIRECT\SUBDIR\FILENAME.EXT
- Comma delimited ASCII database file format, which allows
databases of found files to be built:
"FILENAME.EXT","12345","1/01/92","23:59:00","HSRA","C:\DIRECT\SUBDIR\"
- Batch file processing format, which allows sophisticated
manipulation of found files as a group:
%1 C:\PATH\FILENAME.EXT %2 %3 %4 %5 %6 %7 %8 %9
Within each of the above basic format types the user can
further customize the output. (See the detailed reference for
the /f option.)
- See the section "FFG Compared to Other File Finders".
File Finder/Grouper 5 (c) EnGamma
FFG Compared to Other File Finders
File Finder/Grouper (FFG) performs functions similar to those
found in other utility programs, but here are some FFG features
that some other file finders lack:
1. FFG uses the DOS wildcard characters '*' and '?' but they
have extended function over the DOS counterparts. The
extended functionality permits you to search for strings of
characters that appear anywhere in the file name.
2. FFG can search for multiple file specifications in a single
pass, such as find all BAT, COM and EXE files.
3. FFG permits you to concisely specify multiple file name
search masks such as "*[ZIP,ARC,ARJ,LHA]*.[COM,EXE]" to find
all archiving programs.
4. FFG permits you to exclude certain file name specifications.
5. FFG can search all disk drives or selected disk drives.
6. FFG can search inside of archive files (ZIP, ARC, ARJ, LZH).
(FFG also searches inside XEQ COM library files).
7. FFG can execute and arbitrary DOS command for each file
found.
8. FFG finds hidden files and searches hidden directories.
9. FFG searches inside directories with name extensions (e.g.,
THISISMY.DIR). Some file finders do not search these
directories.
10. FFG can move to the disk and directory of the found file (/g
option).
11. FFG can search for directories instead of files simply by
appending a backslash '\' to the search name.
12. FFG can search by a date range, time range, size range using
intuitive syntax to specify these criteria.
13. FFG can search by the file attributes or combination of
attributes, such as finding all Hidden Read-Only files.
14. FFG can find files based on the day of the week (i.e., Sun -
Sat) they were modified/created.
15. FFG can search for files by date relative to today, such as
all files modified/created 7 to 14 days ago.
File Finder/Grouper 6 (c) EnGamma
16. FFG lets you pause (press any key) or interrupt (press
<ESC>) the search operation at any time.
17. FFG can be used to produce database files of its output
(ASCII comma-delimited files)(/f, option)
18. FFG provides useful default output format options but
permits extensive user customization of the output format.
19. FFG can be used to produce output as DOS batch files (.BAT)
with DOS replaceable parameters (%1 through %9). The batch
file can then be used to execute a arbitrary command against
the group of files such as copy, back up, archive, delete,
move, edit...). The power and flexibility of this feature
is limited only by your imagination. Although some other
finders have similar capability, they do not have the same
flexibility.
20. By default, when FFG is searching all disk drives, it skips
disk drives that are logical aliases of other physical
drives that have already been searched. This avoids reports
of multiple copies of a file when in fact there is only one
physical copy of the file.
File Finder/Grouper 7 (c) EnGamma
Usage and Examples
FFG [DriveSpec:][PathSpec]NameMask[,NameMask2...][\] [options]
FFG is currently not case sensitive. However, as features are
added in future releases case may be used to distinguish options.
Therefore, use of lower case is recommended. In many of the
examples provided in this manual mixed upper and lower case is
used for clarity only.
DriveSpec tells FFG which drives to search. If DriveSpec is not
specified the current disk is searched. A simple DOS drive
letter designation can be specified (e.g., C:) or a list of
drives can be specified (e.g., ABC:). Also, a '*' can be used to
mean all drives except A: and B: and logical substitute drives.
When '*' is used, it can be combined with an explicit search list
(e.g., ab*:); the drives that are explicitly listed will be
searched first. If you wish to specify "all drives but..." then
list the drives to exclude after the '*' (e.g., *cd). Finally, a
range of drives may be specified (e.g., a-z:). If any drives
that are explicitly specified cannot be accessed, such as empty
floppy drives, FFG reports them as inaccessible. See the
following DriveSpec examples.
PathSpec tells FFG which directory to use as the search starting
point. The specified directory and all descendent subdirectories
will be searched unless the NO RECURSION option (/r) is
specified. See the following PathSpec examples.
NameMask gives FFG a file name pattern to look for. Multiple
name masks can be specified by separating them with a comma (',')
sign. NameMask can use DOS wildcard characters '*' and '?', but
they have extended functions. The '*' will match zero or more
characters and the '?' will match exactly one character. The
period that separates the file first name and the filename
extension is treated as any other character in the name. If a
terminating backslash is appended to the list of NameMasks, FFG
will search for directories in lieu of files. See the following
NameMask examples.
NameMasks can also include alternative patterns to concisely
specify multiple masks that have common elements. For example,
rather than specify "*.BAT,*.COM,*.EXE", you can use
"*.[BAT,COM,EXE]". The bracketed contain different possible
alternatives for that part of the NameMask. Brackets can be
nested. Here are two more complicated examples:
File Finder/Grouper 8 (c) EnGamma
1. Let's say you want to see all files which have names that
are variants of "CONFIG" or an abbreviation of it. Here's how
you might specify it: "*C[[O,]N,]F[I,]G*",
which is equivalent to specifying:
"*CONFIG*,*CONFG*,*CNFIG*,*CNFG*,*CFIG*,*CFG*"
2. Let's say you want a listing of all archiving programs,
including batch files that perform and archiving function.
Here's how you could spefify it:
"*[ZIP,ARC,ARJ,LHA,PAK,ZOO]*.[EXE,COM,BAT]"
The above is equivalent to specifying 18 separate NameMasks:
"*ZIP*.EXE,*ZIP*.COM,*ZIP*.BAT,...,*ZOO*.COM,*ZOO*.BAT"
NOTE: Slashes can be used instead of commas as in
"*.[BAT/COM/EXE]". This permits a NameMask to be passed
to FFG as a parameter to a batch file. This would not
otherwise be possible using commas because DOS considers
the comma to be a batch file command-line argument
delimiter.
Drive Specifier (DriveSpec) Examples:
These examples illustrate the different ways to specify which
disk drives should searched.
ffg filename - Searches current drive
ffg c:filename - Searches drive C:
ffg *:filename - Searches all drives but A:, B:, and logical
substitute drives.
ffg ab*:filename - Searches all drives but logical substitute
drives
ffg a-z:filename - Searches all drives
ffg ec*:filename - Searches E: then C: then all other non-
logical drives but floppies
ffg *c:filename - Searches all non-logical drives but C: and
floppies
ffg d*m-z:filename - Searches D: then all non-logical drives
except M: through Z:
File Finder/Grouper 9 (c) EnGamma
File Path Specifier (PathSpec) Examples:
These examples illustrate the different ways to specify the
directory where the search should start.
ffg filename - Searches from root directory
ffg \filename - Searches from root directory
ffg \DOS\filename - Searches from \DOS directory
ffg .\filename - Searches from current directory
ffg ..\filename - Searches from parent of current directory
ffg \filename /r - Searches only the root directory, no
subdirectories
File Name Mask (NameMask) Examples:
These examples illustrate the different ways to search based on
the file name.
ffg *.* - Searches for all files
ffg * - Searches for all files (identical to *.*)
ffg *\ - Searches for all directories
ffg *bat - All files ending in 'BAT' (Finds: BALLBAT,
WOMBAT, AUTOEXEC.BAT...)
ffg *.bat - All files with a '.BAT' extension. (Finds:
BALL.BAT but will NOT find BALLBAT)
ffg *read*me* - All files with 'read' anywhere in name
followed by 'me' (Finds: READ.ME, PLS-
READ.ME, README, README.COM, READU.NME,
YOUREAD.ME)
ffg *help*,*hlp* or
ffg *h[e,]lp* - All files with 'help' or 'hlp' anywhere in
the name. (Finds: WINHELP.EXE, SETUP.HLP,
PRINTHLP.EXE...)
ffg *c*f*g* - All files with 'c', 'f', and 'g' in order
in name. (Finds: CONFIG.SYS, MIDIMAP.CFG,
CFGSAVE.DLL, MYCFG.DAT, MYCONFG.FIL...)
ffg *. - Finds extensionless files
ffg ????.* - Finds files with exactly four characters in
File Finder/Grouper 10 (c) EnGamma
first name. (Finds: DATA.IN, DATA.OUT,
TASM.EXE, TEST...; Doesn't find: TEST1,
TST.DAT...)
ffg *bat?* - Finds files with 'BAT' anywhere in name but
at the end. (Finds: BATLIB.COM, MYBAT.DAT,
BALLBATS...; Doesn't find: BALLBAT,
AUTOEXEC.BAT)
ffg ?????? - Finds all files having exactly 6 character
names, including the period if the file has
an extension. (Finds: SCRAPS, GO.BAT,
SAVE.C)
ffg * /x*.bat - Finds all files but DOS batch files (.BAT)
ffg *win*\ - Searches for all directories with 'WIN'
anywhere in the directory name
ffg *arc*.[com,exe]- Search for all archive programs
File Finder/Grouper 11 (c) EnGamma
Alphabetical Listing of Command Line Options/Switches
Quick Reference:
Option Switch Function
/a Attributes of File
/b Beep when file found, prompted, and/or done
/d Date of File
/e Execute Command for each find
/f Format of Output
/g Go to directory
/h Hidden directories
/p Page at a time
/q Quiet/no screen output
/r Recursion (subdirectory search)
/s Size of file
/t Time of file
/x eXclude Files
/z ZIP and other archive file search
/1 Find only 1 file
File Finder/Grouper 12 (c) EnGamma
Options - Detailed Reference:
/a Attributes of File
/aAttrMask - include only files matching specified attributes
AttrMask = is a string composed of H,S,R,A,'.'
H = hidden attribute set.
S = system attribute set.
R = read-only attribute set.
A = archive attributes set.
! = before one of the above, it means not set
. = "specified attributes period"; unspecified attributes
must not be set; The period must be at the end of the
string, e.g. /aHR. = hidden AND read only files with no
other attributes set.
Attribute Examples
/aR - Read-only files
/aH - Hidden files
/a!S - All but System files
/aA - Files with Archive bit set
/aHR - Files that are both hidden and read-
only
/aHR. - Hidden&Read-only files with no other
attributes set
/aH!R - Hidden files that are not read only
/a!H - Files that are not hidden
/a!H!R - Files that are neither hidden or
read-only
/aHR!S!A - Files with only hidden and read-only
attributes (same as /aHR.)
/b Beep - Beeps the system system speaker for specified events
/b[F][P][D] - Beeps when:
F = a file is found
P = user is prompted
D = program is done running
if /b is specified alone beeps will occur for all of the
above
File Finder/Grouper 13 (c) EnGamma
/d Date of File
/dDateRangeStr - include only files matching specified date range
where DateRangeStr is one of the following:
mm/dd/yy - only files matching mm/dd/yy
m1/d1/y1-m2/d2/y2 - only files matching this date range
inclusive
-mm/dd/yy - only files on or before this date
mm/dd/yy- - only files on or after this date
T - Relative: only files with Today's
date
nT-Tm - Relative: n days before TODAY to m
days after today
nT-mT - Relative: n days before TODAY to m
days before TODAY
[Su|Mo|Tu|We|...|Sa] - only file matching specified day of
the week. Can also specify a range in
this way. Use alone or in addition
to above date options.
Date Examples
/d1/1/93 - Files dated 1/1/93
/d1/1/80-12/31/80 - Files having a 1980 date
/d-12/31/92 - Files dated 1992 and earlier
/d1/1/93- - Files later than 1992
/dT - Files dated TODAY
/d6T-T - Files dated in the last 7 days
/d14T-7T - Files dated 7-14 days ago
/dSu - Files dated on a Sunday
/d6T-T /dFr - Files dated last Friday
/d6T-T /dSa-Su - Files dated last Weekend
/e Execute Command for each find
/e[!][CommandStr] - Execute a command for each found file.
where CommandStr is either:
1. Not specified, in which case the found file itself is
executed. It is assumed the found file is executable,
otherwise the command will not execute.
2. It is a DOS command string including optional Format
Specifiers. The Format Specifiers are the same as those used
for output formatting (see /f description) except that they
must be preceded by a '%' character to distinguish them from
normal characters. For example, to represent the full file
name, %n would be used. Spaces are represented with %_ and
double quotes are represented by %'. These two specifiers
File Finder/Grouper 14 (c) EnGamma
are required to avoid DOS interpreting the space and double
quotes when you enter them as FFG options. In batch files,
two percent signs %% are required to avoid having DOS
interpret the % as a replaceable parameter.
The command is executed from the disk drive and directory of
the found file.
Confirmation - Normally FFG asks the user to confirm whether
the command should be executed. However, if the '!' is
specified, the command will be executed for all found files
without asking the user for confirmation. When conifirmation
is on, the user is given the following options:
1. Execute the command
2. Skip command execution
3. Execute the command and turn off confirmations
3. Quit
Execute Command Examples:
/g - Execute each found file
w/confirmation
/g! - same as above without confirmation
/gREN%_%P\%N%_%F.NEW - => ren d:\path\fname.ext fname.new
/gDEL%_%P\%N - => del d:\path\fname.ext
/gMD NEWSBDIR - => md newsbdir (make new subdirectory)
"/gCOPY %P\%N A:" - => copy d:\path\fname.exe a: (note that
by quoting the entire command option,
including the /g, you can avoid
having to use the space Format
Specifier, %_)
/f Format of Output
/fxFormatStr
There are four basic types of output formats supported by
FFG: Columnar output (the default), Packed, ASCII Comma
delimited and Batch File. Within each of these types there
is much flexibility in defining the precise output (see
Format Strings below). Examples of each are:
1. Columnar Output (/fc, this is the default format)
FILENAME.EXT 12345 1/01/92 23:59 HSRA C:\DIRECT\SUBDIR
2. Packed Output (/fp)
C:\DIRECT\SUBDIR\FILENAME.EXT
3. ASCII Comma Delimited Database Output (/f,)
File Finder/Grouper 15 (c) EnGamma
"FILENAME.EXT","12345","1/01/92","23:59:00","HSRA","C:\DIRECT\SUBDIR\"
4. Batch File Output (/fb)
%1 C:\PATH\FILENAME.EXT %2 %3 %4 %5 %6 %7 %8 %9
Here is a detailed description of the output formatting
options:
/fxFormatStr
x = C Column - Fixed field width columnar output ("NSDTAP"
default)
P Packed - Merge all fields together ("PN" is default)
, Comma - Comma-delimited ASCII database format
B Batch File - Format for batch processing with %1, %2....
S Summary - Summary Control - This option determines
whether a summary report is displayed and
is used independent of the other /f option
switches. The 's' must be followed by '.'
or '!', which have the following meanings:
. - Summary only
! - no summary (good for when you are
redirecting output and don't want the
summary report to be redirected to the
file).
FormatStr is a string composed of Format Specifiers: n, f, e,
s, d, t, a, p, '.', 'r', ':', '\' or '_' where:
f = file First name (e.g. if file is FNAME.EXT then "FNAME"
is displayed)
{ c = Comments/File Descriptive notes
e = file Extention (e.g. if file is FNAME.EXT then ".EXT"
is displayed)
s = Size of file
d = Date of file
t = Time of file
n = Full FileName, including extension (e.g., FNAME.EXT)
a = file Attributes e.g. "H-R-" for a hidden and read-only
file; *ZIP, *ARC for files found in ZIP and ARC files
p = full Path to file, including disk drive (trailing
backslash '\' is excluded for all but Comma-delimited
output)
r = diRectory path without drive (trailing backslash '\' is
File Finder/Grouper 16 (c) EnGamma
excluded for all but Comma-delimited output)
. = period put in output
_ = blank space
' = single quote translated to double quote (/e option
only).
% = to get a % sign (/e option only)
\ = backslash directory separator
: = drive on which file was found (e.g. C:)
0-9 = (meaningful with the /fB option only) inserts a
corresponding DOS .BAT file replaceable parameter %0-%9
(e.g. 1->%1);
Formatting Examples
1. /FCnsdtap displays output in fixed Columns (the default)
as follows:
FILENAME.EXT 12345 1/01/92 23:59 HSRA C:\DIR\SUBDIR
2. /FPpn displays results in a Packed format as follows:
C:\DIR\SUBDIR\FILENAME.EXT
3. /F, displays Comma-delimited results for import into a
database as follows:
"FILENAME.EXT","12345","1/01/92","23:59:00","HSRA","C:\DIR\SUBDIR"
4. /FB1_2_p\n_34_5 provides format for later Batch file
processing:
%1 %2 C:\DIR\SUBDIR\FILENAME.EXT %3%4 %5
5. /FB1_p\n_f.2 > changext.bat creates a batch file with
lines as follows:
%1 C:\DIR\SUBDIR\FILENAME.EXT FILENAME.%2
Which could then be used as follows to change the
extension of all found files to ".NEW":
changext rename NEW
6. /F, /FS! displays comma-delimited output without summary
information.
7. /FS. displays summary information only
/g Go to directory of first found file
When this option is used, FFG changes the current disk drive
File Finder/Grouper 17 (c) EnGamma
and directory to the drive/directory of the first found file.
No other files are found. If the first found file is in an
archive file (/z option used), FFG changes to the disk and
directory of the archive file that contains the found file.
If searching for directories instead of files, FFG changes
into the found directory (makes it the current directory).
/h Hidden directories
/h[.|!]
Hidden directories are searched by default. The following
modifications are possible:
/h - toggle hidden directories search option (i.e, hidden
directories will be skipped since the default is to
search them)
/h. - only hidden directories are searched
/h! - do not search hidden directories
/p## Page at a time
/p[##] pause after every ## lines of output; ## is optional;
This option causes output and searching to pause after ##
lines of screen output. If ## is not specified, 23 lines
will be assumed. If ## is set to 0, there will be no pause
(as though /p were not used at all).
## = blank - pause after 23 lines of output.
## = 0 - continuous output - don't pause (this is the
default if /p is not specified)
## = 1 - pause after each found file (useful for
providing an oppurtunity for user interaction
## = other # - pause after ## lines of output.
/q Quiet - Suppresses all but specified output events
/q[M][T][S][F] - Suppresses output for all but:
M = Spinning meter
T = program title line
S = Output summary
F = Found File
if /q is specified alone all output is suppressed
File Finder/Grouper 18 (c) EnGamma
/r Recursion (subdirectory search)
By default FFG recursively searches all descendent
directories of the starting directory in the directory tree
structure. When the /r option is used only the starting
directory is searched.
/s Size of file
/sSizeRangeStr - include only files matching specified size
where SizeRangeStr is one of the following:
Size - only files of this size
MinSize-MaxSize - only files within this size range
inclusive
-MaxSize - only files this size or smaller
MinSize- - only files this size or larger
MinSize, Size, MaxSize can use suffixes K, M, G as
abbreviations of 1 Kilobyte, 1 Megabyte, and 1 Gigabyte (e.g.
/s1K-25M)
Size Examples
/s0 - empty files
/s1M- - very large files (>= 1 megabyte)
/s-500 - tiny files (<= 500 bytes)
/s1K-2K - 1024-byte to 2048-byte files
/t Time of file
/tTimeRangeStr - include only files matching specified times
where TimeRangeStr is one of the following:
hh:mm[:ss] - only files matching this time
h1:m1[:s1]-h2:m2[:s2] - only files within this time range
inclusive
-hh:mm[:ss] - only files on or before this time
hh:mm[:ss]- - only files on or after this time
Times must be specified using a 24-hour clock (i.e, 23:00
instead of 11:00 PM). If seconds are not specified, the
seconds field is ignored when testing for a match. Time
ranges may span 0:00 (midnight).
Time Examples
/t-8:00 - Earlybird files (before 8am)
/t17:00-8:00 - After-hours files
/t17:00- - Evening/night files
File Finder/Grouper 19 (c) EnGamma
/t8:00-17:00 - Workday files
/x Exclude Files
/xFileMaskList - exclude all files in FileMaskList,
where FileMaskList is a list of file specs separated by ','
commas. For example, /x*.bat,*.exe,*.com or /x*.[bat,exe,com]
/z ZIP and other archive file search
/z[.][ArcExtList] - Search inside archive files.
. = search ONLY inside archive files.
ArcExtList = list of file extensions to treat as archives.
e.g., /zZIP,ARC,LZH,ARJ,COM
Archive Examples
/zZIP - Limits archive search to ZIP files
/zARC,LZH - Limits archive search to ARC and LZH files
/z. - Limits search to only archive files
File Finder/Grouper 20 (c) EnGamma
Bugs/Known Deficiencies/Future Improvements
1. Options to exclude date, time and size ranges are planned.
2. An option for finding files containing a specified text
string is planned.
3. Further date options are planned such as /dLASTYEAR
File Finder/Grouper 21 (c) EnGamma
Miscellaneous
1. Options can be specified using either '/' or '-' as command
line switch characters.
2. FFG is not case sensitive, but future releases may
distinguish letter case as new features are added. Use of
lower case letters is recommended.
3. During a search the following keys have a special function:
<ESC> - Aborts/interrupts the search
<G> - Goes to the disk and directory of the
last found file. If searching for
directories, the found directory will
be made current.
<S> - Skips to the next disk drive
<B> - Causes a beep when search complete
any other key - Pauses the search operation
4. While searching, FFG displays the drive currently being
searched and indicates progress with a spinning run meter.
The meter is updated one increment each time a new directory
or a new archive file is searched. When the meter slows, it
is indicative of either a directory with many files or an
archive file.
5. Summary Report - FFG displays a summary report of the search
operation. It includes:
- Total bytes inside all found files.
- Disk space occupied by found files including unused
space due to the disk cluster/block size. If the
file is in an archive, then there is no adjustment
made for cluster size.
- Number of directories searched.
- Number of directories in which files were found
- File NameMasks used for the search
- File NameMasks excluded from the search
- Date/Time/Size/Attribute masks if used
- Number of archive files searched
- Number of archive files in which files were found
6. FFG can be renamed. FFG will recognize the new name and
display it in the usage screen if you are using DOS 3.0 or
later.
7. Conventions - Several options attach special significance to
'!' and to '.'. Generally, '!' is used to represent
"negation"/"logical not"/"turn off". Generally '.' is used
to represent "only"/"these period"/"no others".
File Finder/Grouper 22 (c) EnGamma
8. FFG was developed using Borland C++ 3.1.
File Finder/Grouper 23 (c) EnGamma
Revision History
For those who are interested here is how FFG has evolved:
Vers Date Description of Change
1.53 8/4/93 - Adds range capability to day-of-week date specs (e.g., /dSA-SU)
- Adds NOT capability for attributes switch
- Fixes bug (since 1.52) that caused /a switch to not work
1.52 7/29/93 - Overrides recursion switch (/r) if a wildcard path is used
- Adds limited wild path capability
- Keeps running meter visible when output redirected to a file
- Improves Archive search speed for small archived files
- Improves Archive search efficiency
- Adds on-the-fly ability to turn on beep-when-done switch
- Further modularization of display functions
- Puts commas in all summary numbers
- Speeds up search when NameMask can use DOS wildcard conventions
- Adds Z format specifier to enabling using archive name in output & commands
- Permits use of '/' in lieu of ',' for separating bracketed alternatives. Needed
to avoid having DOS interpret the comma as a delimiter when FFG NameMask is
specified as an argument to a batch file.
- More graceful handling of errors in use of brackets with alternatives.
- Adds capability to specify bracketed alternatives: *[zip,arc]*.[com,exe,bat]
- Improves appearance of directory search output so that all subdirs at one level
are displayed together.
- Adds ability to specify double qoute with /e as %'
- Further internal modularization
- Adds /1 "Find One Only" option
- Adds a /b "Beep" option for beep on F-ind, P-rompt, D-one
- Fixes bug w/ /p when 0 or non-number specified which cause divide error
1.51 6/7/93 - Added /e "Execute Command" switch
- Switched to large memory model and size changed from 80K->110K
- Fixed bug where archive files streams weren't being closed properly
- Attributes field for files in Archives now shows archive type (e.g., *ZIP, *LZH)
- Improves response to user keypresses during search inside
archives
- /e Executes commands from disk/directory of found file
- Adds Quiet option /q w/options (m,f,s,t) to restore display of meter, files,
summary, title
- Adds a skip remainder of drive search feature
- Further modularizes FFG
- Fixes bug in /q switch, which wasn't suppressing found files
1.50 5/10/93 - Fixes bug where /g option did not change into found directory
1.49 5/9/93 - Cause all drive not ready errors to be ignored (Failed)
- Determines whether drives are logical drives at one time to improve the
reliability of the logical drive determination
- Fixed bug where only first of multiple drive ranges in DriveSpec were considered.
For example, a-df-z:*.* would have searched only drives A:-D:
1.48 5/8/93 - Fixes bug where "/fb." displays 0s and 1s instead of a period '.'
File Finder/Grouper 24 (c) EnGamma
- Adds result codes: 1 = found, 0 = not found (and others for errors)
- Adds new output format specifier 'n' for full file name (same as "f.e")
- Changed Abort/interrupt message to appear even if summary display turned off
1.47 5/4/93 - Adds "Bytes Occupied" based on disk cluster size to summary report
1.46 5/1/93 - Fixes bug where root directory files were reported to be in current directory
- Updated help screens
1.45 4/27/93 - Improves speed of archive file searches
1.44 4/22/93 - Adds ability to search by day of the week on files were last modified or created
1.43 4/14/93 - Fixes bug where trailing backslash was displayed when ':' used as an output
format specifier
1.42 4/14/93 - Allows extensionless files/dirs to be found without putting period in spec
- Made some display changes including:
- no terminating period '.' is displayed for extensionless files
- Adds '\' as format string specifier so it can be appended to the directory path
as a separator (needed mainly for subsequent batch processing because some DOS
command and programs choke on the trailing backslash.
- User-specified batch file output is packed by default
- Adds key to resume screen-Page-at-time feature from paused screen
1.41 4/12/93 - Adds directory name search capability w/ '\'
- Other internal improvements
1.40 4/1/93 - No significant changes
1.39 4/1/93 - Adds capability to search .ARJ archives
- Fixes bug where *. didn't find extensionless files
1.38 3/29/93 - Cleans up old ARC file searches so garbage files not reported as found in archive
- Fixes bug in skipping to next file in an archive file
- Fixes bug in ARC search, which missed SQUASHED files
1.37 3/29/93 - Adapts GoTo function semantics for archive file searches, so it changes to the
directory containing the archive file
1.36 3/28/93 - Adds capability to search XEQ.COM libraries with /z option
- Adds archive extension list to /Z so that the archive file types to search can be
explicitly specified, e.g. /zZIP+ARC
- Changed name from Flexible File Finder (FFF.EXE) when a PC Magazine Utility by
the same name and similar function was discovered.
1.35 3/27/93 - Adds capability to search .ARC archives (ARC, PKARC)
1.34 3/27/93 - Adds capability to search .LZH archives (LHARC)
1.33 3/21/93 - Adds archive /Z (only ZIP for now) file capability (PKZIP)
1.32 3/3/93 - Improves Today feature to handle Today + n (Tn), Today - n (nT)
1.31 3/1/93 - Adds "Today" feature to date switch, e.g. /dt for all files with today's date
1.30 2/23/93 - Fixes bug with time switch, /t
1.29 2/15/93 - Tunes spinning run meter
- Updates formatting examples for rev 1.25-1.26 /fb features
- Implements the running meter as separate "SpinMeter" class/object
- Editorial changes to summary output formatting
- Changed K suffix to mean 1024 bytes vice 1000 and similar changes for M, G
abbreviations in file size
- Fixed extra file display bug when ESC pressed from pause screen (bug from v1.22
GoTo mods)
1.28 2/12/93 - Adds spinning run meter to indicate program is working and not hung
1.27 2/8/93 - Fixes /fb (Batch File) format to enable more than just file.ext output
- Adds ':' (Drive) and 'R' (Directory) formatting options so these subelements of
the path can be extracted
1.26 2/7/93 - Fixes bug with time /t switch that causes hours > 16 to be treated as h-16
File Finder/Grouper 25 (c) EnGamma
- Allows /t Time Range to span midnight such as 23:00-01:00
1.25 2/4/93 - Adds Batch file output format /fB
1.24 2/4/93 - Adds ability to expand drive ranges A-D: -> ABCD:
- Changes output format type specifiers for Column 0->C, Packed 1->P, Summary !->S
1.23 1/31/93 - Improved summary display
- Fixed bug associated with displaying large (100M+) files
- Added directory count tally to summary
1.22 1/28/93 - Adds internal option (not yet implemented for user) to treat no drive spec as *:
(all drives)
- Adds user GoTo interrupt which changes to directory of most recent found file
1.21 1/26/93 - Removed case sensitivity of command line switches
1.20 1/25/93 - Fixes bug (v1.16) where non-wild specs aren't found!
1.19 1/25/93 - Adds additional usage/help screens
1.15 12/07/92 - Restores function recursion switch /r which was inadvertently deleted in 1.14
- Adds hidden directory search switch and searches hidden directories
- Adds /f! to suppress summary info display
1.18 1/23/93 - Uses + to separate multiple filespec masks
1.17 1/23/93 - Adds capability to specify multiple exclude filespec masks
1.16 1/23/93 - Adds capability to search for multiple filespec masks
1.14 12/06/92 - Object-oriented improvements
- Fixes bug introduced in 1.13 which caused /g switch to not work
1.13 11/24/92 - Fixes bug where drives are accessed even after <ESC> is pressed
1.12 11/24/92 - Fixes bug with /g switch when file is in root directory
- Fixes bug where one file per drive is found after <ESC> pressed
1.11 11/22/92 - Adds comma-delimited ASCII database format
- Improves default output formatting for /f, /f0 /f1
1.10 11/21/92 - Improves User keyboard pausing/interrupt.
1.09 11/18/92 - Adds /t (time range) switch
- Adds /g (GoTo) switch
1.08 11/17/92 - Adds /a (attribute) switch - improved
- Adds /d (date range) switch
1.07 11/16/92 - Adds /s (size range) switch
1.06 11/16/92 - Internal Programming methodology changes
- Adds /r (no recursion) switch
1.05 11/15/92 - Adds ability to specify drives before wildcard drive: ab*lmn
1.04 11/14/92 - Adds command line parameter capability
- Adds /x (exclude spec) switch
- Adds limited attribute filtering (-a)
- Adds /p (screen pauses with prompt) (-p##)
- fixed bug where mask is longer than prospect file *????????*
1.03 11/11/92 - Formats "bytes occupied" with commas
- Adds file attributes to display
1.02 11/09/92 - Fixes bug that causes root directory files to appear in default directory
File Finder/Grouper 26 (c) EnGamma