home *** CD-ROM | disk | FTP | other *** search
/ Liren Large Software Subsidy 16 / 16.iso / t / t222 / 1.img / FFG.DOC < prev    next >
Encoding:
Text File  |  1993-10-30  |  65.4 KB  |  1,683 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7.  
  8.                               File Finder/Grouper (FFG)
  9.                                    Version 1.54
  10.                                  Shareware Manual
  11.                           Copyright 1992-1993 Thomas G. Vavoso
  12.                                   President, EnGamma
  13.                                   All Rights Reserved
  14.  
  15.                                 2407 Cameron Mills Rd.
  16.                               Alexandria, Va. 22302-3302
  17.                                 Telephone (703)548-6869
  18.                                 Compuserve: 71674,1747
  19.                                    GEnie: T. Vavoso
  20.  
  21.           File Finder/Grouper (FFG) performs three basic functions:
  22.            
  23.             1)  Searches disks/archive files for files based on flexible
  24.                 user-specified search criteria
  25.             2)  Groups files for processing
  26.             3)  Groups files for building databases of files
  27.  
  28.           If you think you already have a utility program that fills these
  29.           functions, try the DEMO programs, examine the EXAMPLES.FFG file,
  30.           and read the section "FFG Compared to Other File Finders", before
  31.           you decide to put FFG aside.
  32.  
  33.           If you want to start using FFG right away read the "Quick Start"
  34.           section below.  Otherwise, skip to "Introduction".  
  35.  
  36.           Be sure to read the "Shareware" notice on the next page.  The
  37.           registration cost for a single-user license and two years of
  38.           updates is currently $10.  See the FFG.REG file for details.
  39.  
  40.           This manual is available in WordPerfect 5.1 format to registered
  41.           users upon request.
  42.  
  43.  
  44.  
  45.  
  46.  
  47.  
  48.  
  49.  
  50.  
  51.  
  52.  
  53.  
  54.  
  55.  
  56.  
  57.  
  58.  
  59.  
  60.  
  61.           File Finder/Grouper             1                     (c) EnGamma
  62.  
  63.  
  64.  
  65.  
  66.  
  67.  
  68.                                       Shareware
  69.  
  70.                Shareware distribution gives users a chance to try software
  71.           before buying it.  If you try a shareware program and continue
  72.           using it, you are expected to register.  Individual programs
  73.           differ on details -- some request registration while others
  74.           require it, some specify a maximum trial period.  With
  75.           registration, you get anything from the simple right to continue
  76.           using the software to an updated program with printed manual.
  77.  
  78.                Copyright laws apply to both shareware and commercial
  79.           software, and the copyright holder retains all rights, with a few
  80.           specific exceptions as stated below.  Shareware authors are
  81.           accomplished programmers, just like commercial authors, and the
  82.           programs are of comparable quality.  (In both cases, there are
  83.           good programs and bad ones!)  The main difference is in the
  84.           method of distribution.  The author specifically grants the right
  85.           to copy and distribute the software, either to all and sundry or
  86.           to a specific group.  For example, some authors require written
  87.           permission before a commercial disk vendor may copy their
  88.           shareware.
  89.  
  90.                Shareware is a distribution method, not a type of software. 
  91.           You should find software that suits your needs and pocketbook,
  92.           whether it's commercial or shareware.  The shareware system makes
  93.           fitting your needs easier, because you can try before you buy. 
  94.           And because the overhead is low, prices are low also.  Shareware
  95.           has the ultimate money-back guarantee -- if you don't use the
  96.           product, you don't pay for it.
  97.  
  98.                FFG is a copyrighted shareware program by Thomas G. Vavoso,
  99.           President, EnGamma.  The evaluation edition of FFG is offered at
  100.           no charge to any potential user for evaluation, but after a brief
  101.           evaluation period users must register.  Feel free to share the
  102.           evaluation edition with your friends and associates, but please
  103.           do not give it away altered or as part of another system.  The
  104.           essence of "user-supported" software is to provide personal
  105.           computer users with quality software without high prices, and yet
  106.           to provide incentive for programmers to continue to develop new
  107.           products.
  108.  
  109.  
  110.                                 Disclaimer of Warranty
  111.  
  112.           Users of FFG must accept this disclaimer of warranty:  FFG is
  113.           supplied as-is.  The author disclaims all warranties, expressed
  114.           or implied, including, without limitation, the warranties of
  115.           merchantability and of fitness for any purpose.  The author
  116.           assumes no liability for damages, direct or consequential, which
  117.           may result from the use of FFG.
  118.  
  119.  
  120.  
  121.           File Finder/Grouper             2                     (c) EnGamma
  122.  
  123.  
  124.  
  125.  
  126.  
  127.  
  128.                                      Quick Start
  129.  
  130.           1.  Demonstrations - The quickest way to become familiar with FFG
  131.           or to get ideas for possible uses is run the DEMO program
  132.           (DEMO.BAT).  Go to the disk and directory with the demo batch
  133.           files in it and enter:
  134.  
  135.               demo
  136.  
  137.           2.  Examples - See the file "EXAMPLES.FFG" included in the FFG
  138.           package for a concise listing of many examples.
  139.  
  140.           3.  Command Syntax
  141.  
  142.           USAGE: FFG [DriveSpec:][PathSpec]NameMask[,NameMask2...][\] [options]
  143.  
  144.           "NameMask" can contain one or more extended DOS wild card
  145.           characters to specify the file name:"
  146.  
  147.                        * = matches any string of zero or more characters"
  148.                        ? = matches any one character
  149.  
  150.           "DriveSpec" can be more than a simple drive letter: 
  151.             - If a '*' is substituted for a drive letter, all but A: & B:
  152.               are searched and redundant logical (substitute) drives are
  153.               skipped.
  154.             - Multiple drives can be explicitly specified (e.g., A-D:,
  155.               BDF:).
  156.             - Drives listed after the '*' are excluded (e.g., *M: searches
  157.               all but M:).
  158.  
  159.           - To search for directories instead of files, put a '\' after
  160.             the NameMask
  161.           - During the search, pressing the following keys have the
  162.             following effect:
  163.  
  164.               <ESC> will stop the search.  
  165.               <G> will go to (Change Dir) the last found file.  
  166.               <S> will skip the current drive.  
  167.               <B> will cause FFG to beep when done searching.
  168.               Pressing any other key will pause the search operation.
  169.  
  170.           - Either '-' or '/' are acceptable command line option switches.
  171.           - Options may be in any order, before or after the Search Mask.
  172.           - There should be no spaces between option switches and their
  173.             parameters.
  174.  
  175.           4.  Built-in Help/Examples - To get a listing of options and
  176.           command syntax, at the DOS prompt enter:
  177.  
  178.              ffg        -      Usage, help, examples, options
  179.              ffg /?                       -      Command-line option help
  180.  
  181.           File Finder/Grouper             3                     (c) EnGamma
  182.  
  183.  
  184.  
  185.  
  186.  
  187.  
  188.              ffg /?n                       -      Help for option 'n'; (e.g., /?d is help for
  189.                               date option)
  190.  
  191.  
  192.           5.  Finding a File on the Current Drive - To find a file anywhere
  193.           on the current drive enter:
  194.  
  195.              FFG filename.ext                         
  196.  
  197.             where "filename.ext" is the name of the file you want to find.
  198.  
  199.           6.  Finding a File on All Hard Drives - To find a file anywhere
  200.           on hard drives connected to your system enter:
  201.  
  202.              FFG *:filename.ext                           
  203.  
  204.             where the '*' is interpreted to mean all non-logical disk
  205.             drives except A: and B:, which are assumed to be floppy
  206.             drives.
  207.  
  208.  
  209.           7.  Finding a File on All Drives (including floppies) - To find a
  210.           file anywhere on the system drives enter:
  211.  
  212.              ffg ab*:filename.ext                             
  213.  
  214.             where "ab*" is interpreted to mean search drives A: and B: plus
  215.             all hard drives.
  216.  
  217.           8.  Searching Inside Archive Files (e.g., .ZIP files) - To search
  218.           all drives and inside all archive files on those drives type:
  219.  
  220.              ffg  *:filename.ext /z                              
  221.  
  222.  
  223.  
  224.  
  225.  
  226.  
  227.  
  228.  
  229.  
  230.  
  231.  
  232.  
  233.  
  234.  
  235.  
  236.  
  237.  
  238.  
  239.  
  240.  
  241.           File Finder/Grouper             4                     (c) EnGamma
  242.  
  243.  
  244.  
  245.  
  246.  
  247.  
  248.                                      Introduction
  249.  
  250.           To get a quick idea of FFG's capabilities run the batch files
  251.           included in DEMOBAT.ZIP or scan through the examples in
  252.           EXAMPLES.FFG.
  253.  
  254.           Here is a basic list of features:
  255.  
  256.           - Perform filename searches using extended DOS wild card
  257.             characters * and ?.  For example you can find all files with
  258.             "doc" anywhere in the name.  This search is not possible using
  259.             standard DOS wildcard conventions.
  260.  
  261.           - Easily search all disk drives or only selected drives.
  262.  
  263.           - Search for files or exclude files based on file name, date,
  264.             time, size, day-of-week, and attributes (hidden/system/read
  265.             only/archive).
  266.  
  267.           - Searches popular archive/compressed file formats such as those
  268.             created with PKZip.
  269.  
  270.           - Can execute an arbitrary DOS command for each found file.
  271.  
  272.           - Versatile and Customizable Output Formats:
  273.  
  274.              -  Standard columnar output, which is a basic fixed field
  275.                 output of the various file information items:
  276.  
  277.               FILENAME.EXT 12345  1/01/92 23:59 HSRA C:\DIRECT\SUBDIR
  278.  
  279.              -  Packed format, which allows formation of list files for
  280.                 subsequent processing (e.g., PKZip @file):
  281.  
  282.               C:\DIRECT\SUBDIR\FILENAME.EXT
  283.  
  284.              -  Comma delimited ASCII database file format, which allows
  285.                 databases of found files to be built:
  286.  
  287.               "FILENAME.EXT","12345","1/01/92","23:59:00","HSRA","C:\DIRECT\SUBDIR\" 
  288.  
  289.              -  Batch file processing format, which allows sophisticated
  290.                 manipulation of found files as a group:
  291.  
  292.               %1 C:\PATH\FILENAME.EXT %2 %3 %4 %5 %6 %7 %8 %9
  293.  
  294.             Within each of the above basic format types the user can
  295.             further customize the output.  (See the detailed reference for
  296.             the /f option.)
  297.  
  298.           - See the section "FFG Compared to Other File Finders".
  299.  
  300.  
  301.           File Finder/Grouper             5                     (c) EnGamma
  302.  
  303.  
  304.  
  305.  
  306.  
  307.  
  308.                           FFG Compared to Other File Finders
  309.  
  310.           File Finder/Grouper (FFG) performs functions similar to those
  311.           found in other utility programs, but here are some FFG features
  312.           that some other file finders lack:
  313.  
  314.           1.  FFG uses the DOS wildcard characters '*' and '?' but they
  315.               have extended function over the DOS counterparts.  The
  316.               extended functionality permits you to search for strings of
  317.               characters that appear anywhere in the file name.
  318.  
  319.           2.  FFG can search for multiple file specifications in a single
  320.               pass, such as find all BAT, COM and EXE files.
  321.  
  322.           3.  FFG permits you to concisely specify multiple file name
  323.               search masks such as "*[ZIP,ARC,ARJ,LHA]*.[COM,EXE]" to find
  324.               all archiving programs.
  325.  
  326.           4.  FFG can search all disk drives or selected disk drives.
  327.  
  328.           5.  FFG can search inside of archive files (ZIP, ARC, ARJ, LZH). 
  329.               (FFG also searches inside XEQ COM library files).
  330.  
  331.           6.  FFG can execute and arbitrary DOS command for each file
  332.               found with or without a user confirmation before execution.
  333.  
  334.           7.  FFG finds hidden files and searches hidden directories.
  335.  
  336.           8.  FFG searches inside directories with name extensions (e.g.,
  337.               THISISMY.DIR).  Some file finders do not search these
  338.               directories.
  339.  
  340.           9.  FFG can move to the disk and directory of the found file (/g
  341.               option).
  342.  
  343.           10. FFG can search for directories instead of files simply by
  344.               appending a backslash '\' to the search name.
  345.  
  346.           11. FFG can search by a date range, time range, size range, or
  347.               day-of-week range using intuitive syntax to specify these
  348.               criteria.
  349.  
  350.           12. FFG can search by the file attributes or combination of
  351.               attributes, such as finding all Hidden Read-Only files.
  352.  
  353.           13. FFG can find files based on the day of the week (i.e., Sun -
  354.               Sat) they were modified/created.
  355.  
  356.           14. FFG permits you to exclude certain files base on name, date,
  357.               time, size, attributes, day-of-week criteria.
  358.  
  359.           15. FFG can search for files by date relative to today, such as
  360.  
  361.           File Finder/Grouper             6                     (c) EnGamma
  362.  
  363.  
  364.  
  365.  
  366.  
  367.  
  368.               all files modified/created 7 to 14 days ago.
  369.  
  370.           16. FFG can search for files relative to the current time of
  371.               day, such as all files modified/created within the last ten
  372.               minutes.
  373.  
  374.           17. The asterisk '*' can be used as a wildcard in date and time
  375.               criteria, such as /d9/*/93 for all September 1993 files and
  376.               /t13:* for all 1:00pm - 1:59pm files.
  377.  
  378.           18. Current month (M), day (D), year (Y) can be specified in
  379.               date criteria such as 1/1/Y-6/30/Y, M/D/Y (today)
  380.  
  381.           19. Current hours (H), minutes (M), seconds (S) can be specified
  382.               in time criteria such as H:M:S (now).
  383.  
  384.           20. Partial dates and times are interpreted, such as 9/93 ->
  385.               9/*/93, 5/1 -> 5/1/Y (Y = current year), 92-93 -> all 1992-
  386.               1993 files, 9 -> 9:00:00am.
  387.  
  388.           21. Multiple date, time, size, day-of-week, attribute criteria
  389.               can be specified, which are combined in a logical AND or OR
  390.               depending on how they are specified.
  391.  
  392.           22. FFG lets you pause (press any key) or interrupt (press
  393.               <ESC>) the search operation at any time.
  394.  
  395.           23. FFG can be used to produce database files of its output
  396.               (ASCII comma-delimited files)(/f, option)
  397.  
  398.           24. FFG provides useful default output format options but
  399.               permits extensive user customization of the output format.
  400.  
  401.           25. FFG can be used to produce output as DOS batch files (.BAT)
  402.               with DOS replaceable parameters (%1 through %9).  The batch
  403.               file can then be used to execute a arbitrary command against
  404.               the group of files such as copy, back up, archive, delete,
  405.               move, edit...).  The power and flexibility of this feature
  406.               is limited only by your imagination.  Although some other
  407.               finders have similar capability, they do not have the same
  408.               flexibility.
  409.  
  410.           26. By default, when FFG is searching all disk drives, it skips
  411.               disk drives that are logical aliases of other physical
  412.               drives that have already been searched.  This avoids reports
  413.               of multiple copies of a file when in fact there is only one
  414.               physical copy of the file.
  415.  
  416.           27. FFG lets you use 43- and 50-line video modes on EGA/VGA
  417.               systems so you can see more on the screen.
  418.  
  419.  
  420.  
  421.           File Finder/Grouper             7                     (c) EnGamma
  422.  
  423.  
  424.  
  425.  
  426.  
  427.  
  428.                                   Usage and Examples
  429.  
  430.              FFG [DriveSpec:][PathSpec]NameMask[,NameMask2...][\] [options]
  431.  
  432.           FFG is currently not case sensitive.  However, as features are
  433.           added in future releases case may be used to distinguish options. 
  434.           Therefore, use of lower case is recommended.  In many of the
  435.           examples provided in this manual mixed upper and lower case is
  436.           used for clarity only.
  437.  
  438.           DriveSpec tells FFG which drives to search.  If DriveSpec is not
  439.           specified the current disk is searched.  A simple DOS drive
  440.           letter designation can be specified (e.g., C:) or a list of
  441.           drives can be specified (e.g., ABC:).  Also, a '*' can be used to
  442.           mean all drives except A: and B: and logical substitute drives. 
  443.           When '*' is used, it can be combined with an explicit search list
  444.           (e.g., ab*:); the drives that are explicitly listed will be
  445.           searched first.  If you wish to specify "all drives but..." then
  446.           list the drives to exclude after the '*' (e.g., *cd).  Finally, a
  447.           range of drives may be specified (e.g., a-z:).  If any drives
  448.           that are explicitly specified cannot be accessed, such as empty
  449.           floppy drives, FFG reports them as inaccessible.  See the
  450.           following DriveSpec examples.
  451.  
  452.           PathSpec tells FFG which directory to use as the search starting
  453.           point.  The specified directory and all descendent subdirectories
  454.           will be searched unless the NO RECURSION option (/r) is
  455.           specified.  See the following PathSpec examples.
  456.  
  457.           NameMask gives FFG a file name pattern to look for.  Multiple
  458.           name masks can be specified by separating them with a comma (',')
  459.           sign.  NameMask can use DOS wildcard characters '*' and '?', but
  460.           they have extended functions.  The '*' will match zero or more
  461.           characters and the '?' will match exactly one character.  The
  462.           period that separates the file first name and the filename
  463.           extension is treated as any other character in the name.  If a
  464.           terminating backslash is appended to the list of NameMasks, FFG
  465.           will search for directories in lieu of files.  See the following
  466.           NameMask examples.
  467.  
  468.           NameMasks can also include alternative patterns to concisely
  469.           specify multiple masks that have common elements.  For example,
  470.           rather than specify "*.BAT,*.COM,*.EXE", you can use
  471.           "*.[BAT,COM,EXE]".  The bracketed contain different possible
  472.           alternatives for that part of the NameMask.  Brackets can be
  473.           nested.  Here are two more complicated examples:
  474.  
  475.  
  476.  
  477.  
  478.  
  479.  
  480.  
  481.           File Finder/Grouper             8                     (c) EnGamma
  482.  
  483.  
  484.  
  485.  
  486.  
  487.  
  488.             1.  Let's say you want to see all files which have names that
  489.           are variants of "CONFIG" or an abbreviation of it.  Here's how
  490.           you might specify it: "*C[[O,]N,]F[I,]G*", 
  491.  
  492.             which is equivalent to specifying:
  493.  
  494.               "*CONFIG*,*CONFG*,*CNFIG*,*CNFG*,*CFIG*,*CFG*"
  495.  
  496.             2.  Let's say you want a listing of all archiving programs,
  497.           including batch files that perform and archiving function. 
  498.           Here's how you could specify it:
  499.  
  500.               "*[ZIP,ARC,ARJ,LHA,PAK,ZOO]*.[EXE,COM,BAT]"
  501.  
  502.             The above is equivalent to specifying 18 separate NameMasks:
  503.  
  504.               "*ZIP*.EXE,*ZIP*.COM,*ZIP*.BAT,...,*ZOO*.COM,*ZOO*.BAT"
  505.  
  506.           NOTE: Slashes can be used instead of commas as in
  507.                 "*.[BAT/COM/EXE]".  This permits a NameMask to be passed
  508.                 to FFG as a parameter to a batch file.  This would not
  509.                 otherwise be possible using commas because DOS considers
  510.                 the comma to be a batch file command-line argument
  511.                 delimiter.
  512.  
  513.           Drive Specifier (DriveSpec) Examples:
  514.  
  515.           These examples illustrate the different ways to specify which
  516.           disk drives should searched.
  517.  
  518.           ffg  filename      -  Searches current drive
  519.  
  520.           ffg  c:filename    -  Searches drive C:
  521.  
  522.           ffg  *:filename    -  Searches all drives but A:, B:, and logical
  523.                                 substitute drives.
  524.  
  525.           ffg  ab*:filename  -  Searches all drives but logical substitute
  526.                                 drives
  527.  
  528.           ffg  a-z:filename  -  Searches all drives
  529.  
  530.           ffg  ec*:filename  -  Searches E: then C: then all other non-
  531.                                 logical drives but floppies
  532.  
  533.           ffg  *c:filename   -  Searches all non-logical drives but C: and
  534.                                 floppies
  535.  
  536.           ffg d*m-z:filename -  Searches D: then all non-logical drives
  537.                                 except M: through Z:
  538.  
  539.  
  540.  
  541.           File Finder/Grouper             9                     (c) EnGamma
  542.  
  543.  
  544.  
  545.  
  546.  
  547.  
  548.           File Path Specifier (PathSpec) Examples:
  549.  
  550.           These examples illustrate the different ways to specify the
  551.           directory where the search should start.
  552.  
  553.           ffg  filename      -  Searches from root directory
  554.  
  555.           ffg  \filename     -  Searches from root directory
  556.  
  557.           ffg  \DOS\filename -  Searches from \DOS directory
  558.  
  559.           ffg  .\filename    -  Searches from current directory
  560.  
  561.           ffg  ..\filename   -  Searches from parent of current directory
  562.  
  563.           ffg  \filename /r  -  Searches only the root directory, no
  564.                                 subdirectories
  565.  
  566.           File Name Mask (NameMask) Examples:
  567.  
  568.           These examples illustrate the different ways to search based on
  569.           the file name.
  570.  
  571.           ffg  *.*           -  Searches for all files
  572.  
  573.           ffg  *             -  Searches for all files (identical to *.*)
  574.  
  575.           ffg  *\            -  Searches for all directories
  576.           ffg  *bat          -  All files ending in 'BAT' (Finds: BALLBAT,
  577.                                 WOMBAT, AUTOEXEC.BAT...)
  578.  
  579.           ffg  *.bat         -  All files with a '.BAT' extension.  (Finds:
  580.                                 BALL.BAT but will NOT find BALLBAT)
  581.  
  582.           ffg  *read*me*     -  All files with 'read' anywhere in name
  583.                                 followed by 'me' (Finds: READ.ME, PLS-
  584.                                 READ.ME, README, README.COM, READU.NME,
  585.                                 YOUREAD.ME)
  586.  
  587.           ffg  *help*,*hlp* or
  588.           ffg  *h[e,]lp*     -  All files with 'help' or 'hlp' anywhere in
  589.                                 the name.  (Finds: WINHELP.EXE, SETUP.HLP,
  590.                                 PRINTHLP.EXE...)
  591.  
  592.           ffg  *c*f*g*       -  All files with 'c', 'f', and 'g' in order
  593.                                 in name.  (Finds: CONFIG.SYS, MIDIMAP.CFG,
  594.                                 CFGSAVE.DLL, MYCFG.DAT, MYCONFG.FIL...)
  595.  
  596.           ffg  *.            -  Finds extensionless files
  597.  
  598.           ffg  ????.*        -  Finds files with exactly four characters in
  599.  
  600.           File Finder/Grouper             10                    (c) EnGamma
  601.  
  602.  
  603.  
  604.  
  605.  
  606.  
  607.                                 first name.  (Finds: DATA.IN, DATA.OUT,
  608.                                 TASM.EXE, TEST...; Doesn't find: TEST1,
  609.                                 TST.DAT...)
  610.  
  611.           ffg  *bat?*        -  Finds files with 'BAT' anywhere in name but
  612.                                 at the end.  (Finds: BATLIB.COM, MYBAT.DAT,
  613.                                 BALLBATS...; Doesn't find: BALLBAT,
  614.                                 AUTOEXEC.BAT)
  615.  
  616.           ffg  ??????        -  Finds all files having exactly 6 character
  617.                                 names, including the period if the file has
  618.                                 an extension.  (Finds: SCRAPS, GO.BAT,
  619.                                 SAVE.C)
  620.  
  621.           ffg * /x*.bat      -  Finds all files but DOS batch files (.BAT)
  622.  
  623.           ffg *win*\         -  Searches for all directories with 'WIN'
  624.                                 anywhere in the directory name
  625.  
  626.           ffg *arc*.[com,exe]-  Search for all 'arc' programs
  627.  
  628.  
  629.  
  630.  
  631.  
  632.  
  633.  
  634.  
  635.  
  636.  
  637.  
  638.  
  639.  
  640.  
  641.  
  642.  
  643.  
  644.  
  645.  
  646.  
  647.  
  648.  
  649.  
  650.  
  651.  
  652.  
  653.  
  654.  
  655.  
  656.  
  657.  
  658.  
  659.  
  660.           File Finder/Grouper             11                    (c) EnGamma
  661.  
  662.  
  663.  
  664.  
  665.  
  666.  
  667.                 Alphabetical Listing of Command Line Options/Switches
  668.  
  669.           Quick Reference:
  670.  
  671.           Option Switch Function
  672.  
  673.           /a  Attributes of File
  674.           /b  Beep when file found, prompted, and/or done
  675.           /d  Date of File
  676.           /e  Execute Command for each find
  677.           /f  Format of Output
  678.           /g  Go to directory
  679.           /h  Hidden directories
  680.           /p  Page at a time
  681.           /q  Quiet/no screen output
  682.           /r  Recursion (subdirectory search)
  683.           /s  Size of file
  684.           /t  Time of file
  685.           /v  Video mode # of lines
  686.           /x  eXclude Files
  687.           /z  ZIP and other archive file search
  688.           /1  Find only 1 file
  689.  
  690.  
  691.  
  692.  
  693.  
  694.  
  695.  
  696.  
  697.  
  698.  
  699.  
  700.  
  701.  
  702.  
  703.  
  704.  
  705.  
  706.  
  707.  
  708.  
  709.  
  710.  
  711.  
  712.  
  713.  
  714.  
  715.  
  716.  
  717.  
  718.  
  719.  
  720.  
  721.           File Finder/Grouper             12                    (c) EnGamma
  722.  
  723.  
  724.  
  725.  
  726.  
  727.  
  728.           Options - Detailed Reference:
  729.  
  730.           /a  Attributes of File
  731.  
  732.           /aAttrMask[[,|']AttrMask...] - include only files matching
  733.           specified attributes
  734.  
  735.               AttrMask = is a string composed of H,S,R,A,'.'
  736.  
  737.               H = hidden attribute set.
  738.               S = system attribute set.
  739.               R = read-only attribute set.
  740.               A = archive attributes set.
  741.               ! = before one of the above, it means not set
  742.               . = "specified attributes period"; unspecified attributes
  743.                   must not be set; The period must be at the end of the
  744.                   string, e.g. /aHR. = hidden AND read only files with no
  745.                   other attributes set.
  746.  
  747.               Attribute Examples
  748.  
  749.               /aR                   - Read-only files
  750.               /aH                   - Hidden files
  751.               /a!S                  - All but System files
  752.               /aA                   - Files with Archive bit set
  753.               /aHR                  - Files that are both hidden and read-
  754.                                       only
  755.               /aHR.                 - Hidden&Read-only files with no other
  756.                                       attributes set
  757.               /aH!R                 - Hidden files that are not read only
  758.               /a!H                  - Files that are not hidden
  759.               /a!H!R                - Files that are neither hidden or
  760.                                       read-only
  761.               /aHR!S!A              - Files with only hidden and read-only
  762.                                       attributes (same as /aHR.)
  763.               /a!H /a!S /a!R        - Normal files (not Hid AND not Sys AND
  764.                                       not Read-only)
  765.               /aHS,SR,HR /a!H,!S,!R - Any two of H, S, R, but not all three
  766.  
  767.           /b  Beep - Beeps the system speaker for specified events 
  768.  
  769.           /b[F][P][D][E] - Beeps when:
  770.  
  771.               F = a file is found
  772.               P = user is prompted
  773.               D = program is done running
  774.               E = Error
  775.  
  776.                 if /b is specified alone beeps will occur for all of the
  777.                 above
  778.  
  779.  
  780.  
  781.           File Finder/Grouper             13                    (c) EnGamma
  782.  
  783.  
  784.  
  785.  
  786.  
  787.  
  788.           /d  Date of File
  789.  
  790.           /dDateRangeStr[[,|']DateRangeStr...] - include only files
  791.           matching specified date range
  792.  
  793.               where DateRangeStr is one of the following:
  794.  
  795.               mm/dd/yy              - only files matching mm/dd/yy
  796.               m1/d1/y1-m2/d2/y2     - only files matching this date range
  797.                                       inclusive
  798.               -mm/dd/yy             - only files on or before this date
  799.               mm/dd/yy-             - only files on or after this date
  800.               T                     - Relative: only files with Today's
  801.                                       date
  802.               nT-Tm                 - Relative: n days before TODAY to m
  803.                                       days after today
  804.               nT-mT                 - Relative: n days before TODAY to m
  805.                                       days before TODAY
  806.               [Su|Mo|Tu|We|...|Sa]  - only file matching specified day of
  807.                                       the week. Can also specify a range in
  808.                                       this way.  Use alone or in addition
  809.                                       to above date options.
  810.  
  811.               Asterisks may be used in lieu of mm,dd,yy date elements to
  812.               ignore an element.  The characters M, D, Y can be used in
  813.               lieu of numeric mm, dd, yy elements to use the current month
  814.               (M), day (D), year (Y).  If some elements are left off
  815.               assumptions are made as follows:  If an element is left off
  816.               and its separator '/' is used then the current value for the
  817.               missing element is assumed (e.g. 9//93 -> 9/D/93).  If one
  818.               separator is missing (i.e., xx/yy) a guess is made based on
  819.               the values used for xx and yy:  If it is possibly a mm/yy
  820.               value, then mm/*/yy (any day) is assumed.  If it is possible
  821.               a mm/dd value then mm/dd/Y (current year) is assumed.  If
  822.               it's neither of the above then its a dd/yy value and M/dd/yy
  823.               is assumed.  Similar guesses are made if both separtors are
  824.               missing (i.e., xx):  If xx is possible a year then */*/yy is
  825.               assumed.  If xx is possibly a day, then M/dd/Y is assumed.
  826.  
  827.  
  828.               Date Examples
  829.  
  830.               /d1/1/93              - Files dated 1/1/93
  831.               /d1/1/80-12/31/80     - Files having a 1980 date
  832.               /d-12/31/92           - Files dated 1992 and earlier
  833.               /d1/1/93-             - Files later than 1992
  834.               /dT                   - Files dated TODAY
  835.               /d6T-T                - Files dated in the last 7 days
  836.               /d14T-7T              - Files dated 7-14 days ago
  837.               /dSu                  - Files dated on a Sunday
  838.               /d6T-T /dFr           - Files dated last Friday
  839.               /d6T-T /dSa-Su        - Files dated last Weekend
  840.  
  841.           File Finder/Grouper             14                    (c) EnGamma
  842.  
  843.  
  844.  
  845.  
  846.  
  847.  
  848.               /dM/D/Y               - Files dated today (same as /dT)
  849.               /d//                  - Files dated today
  850.               /d1-15                - Files dated 1st-15th of this month
  851.               /d80-85               - Files dated between 1980 and 1985
  852.               /d7/92-12/92          - Files dated in second half of 1992
  853.  
  854.           /e  Execute Command for each find
  855.  
  856.           /e[!][CommandStr] - Execute a command for each found file.
  857.  
  858.               where CommandStr is either:
  859.  
  860.               1. Not specified, in which case the found file itself is
  861.               executed.  It is assumed the found file is executable,
  862.               otherwise the command will not execute.
  863.  
  864.               2. It is a DOS command string including optional Format
  865.               Specifiers.  The Format Specifiers are the same as those used
  866.               for output formatting (see /f description) except that they
  867.               must be preceded by a '%' character to distinguish them from
  868.               normal characters.  For example, to represent the full file
  869.               name, %n would be used.  Spaces are represented with %_ and
  870.               double quotes are represented by %'.  These two special
  871.               specifiers are required to avoid DOS interpreting the space
  872.               and double quotes when you enter them as FFG options.  Inside
  873.               batch files, two percent signs %% are required to avoid
  874.               having DOS interpret the % as a replaceable parameter.
  875.  
  876.               The command is executed from the disk drive and directory of
  877.               the found file.
  878.  
  879.               Confirmation - Normally FFG asks the user to confirm whether
  880.               the command should be executed.  However, if the '!' is
  881.               specified, the command will be executed for all found files
  882.               without asking the user for confirmation.  When confirmation
  883.               is on, the user is given the following options:
  884.  
  885.                   1. <Y>es - Execute the command
  886.                   2. <N>o  - Skip the command execution
  887.                   3. <A>ll - Execute the command and turn off subsequent
  888.                      confirmations
  889.                   4. <S>hell - Shell to the DOS prompt
  890.                   5. <ESC> - Quit
  891.  
  892.               Execute Command Examples:
  893.  
  894.               /e                    - Execute each found file
  895.                                       w/confirmation
  896.               /e!                   - same as above without confirmation
  897.               /eREN%_%P\%N%_%F.NEW  - => ren d:\path\fname.ext fname.new
  898.               /eDEL%_%P\%N          - => del d:\path\fname.ext
  899.               /eMD%_NEWSBDIR        - => md newsbdir (make new subdirectory)
  900.  
  901.           File Finder/Grouper             15                    (c) EnGamma
  902.  
  903.  
  904.  
  905.  
  906.  
  907.  
  908.               "/eCOPY %P\%N A:"     - => copy d:\path\fname.exe a: (note that
  909.                                       by quoting the entire command option,
  910.                                       including the /g, you can avoid
  911.                                       having to use the space Format
  912.                                       Specifier, %_)
  913.  
  914.           /f  Format of Output
  915.  
  916.           /fxFormatStr
  917.  
  918.               There are four basic types of output formats supported by
  919.               FFG: Columnar output (the default), Packed path, ASCII Comma
  920.               delimited and Batch File.  Within each of these types there
  921.               is much flexibility in defining the precise output (see
  922.               Format Strings below).  Examples of each are:
  923.  
  924.               1. Columnar Output (/fc, this is the default format)
  925.  
  926.                 FILENAME.EXT 12345  1/01/92 23:59 HSRA C:\DIRECT\SUBDIR
  927.  
  928.               2. Packed Path Output (/fp)
  929.  
  930.                 C:\DIRECT\SUBDIR\FILENAME.EXT
  931.  
  932.               3. ASCII Comma Delimited Database Output (/f,)
  933.  
  934.                 "FILENAME.EXT","12345","1/01/92","23:59:00","HSRA","C:\DIRECT\SUBDIR\"
  935.  
  936.               4. Batch File Output (/fb)
  937.  
  938.                 %1 C:\PATH\FILENAME.EXT %2 %3 %4 %5 %6 %7 %8 %9
  939.  
  940.  
  941.               Here is a detailed description of the output formatting
  942.               options:
  943.  
  944.           /fxFormatStr
  945.  
  946.           x = C Column        - Fixed field width columnar output ("NSDTAP"
  947.                                 default)
  948.  
  949.               P Packed        - Merge all fields together ("PN" is default)
  950.  
  951.               , Comma         - Comma-delimited ASCII database format
  952.  
  953.               B Batch File    - Format for batch processing with %1, %2....
  954.  
  955.               S Summary       - Summary Control - This option determines
  956.                                 whether a summary report is displayed and
  957.                                 is used independent of the other /f option
  958.                                 switches.  The 's' must be followed by '.'
  959.                                 or '!', which have the following meanings:
  960.  
  961.           File Finder/Grouper             16                    (c) EnGamma
  962.  
  963.  
  964.  
  965.  
  966.  
  967.  
  968.                                 . - Summary only
  969.                                 ! - no summary (good for when you are
  970.                                     redirecting output and don't want the
  971.                                     summary report to be redirected to the
  972.                                     file).  
  973.  
  974.               FormatStr is a string composed of Format Specifiers: n, f, e,
  975.               s, d, t, a, p, '.', 'r', ':', '\' or '_' where:
  976.  
  977.               f   = file First name (e.g. if file is FNAME.EXT then "FNAME"
  978.                     is displayed)
  979.             { c   = Comments/File Descriptive notes
  980.               e   = file Extension (e.g. if file is FNAME.EXT then ".EXT"
  981.                     is displayed)
  982.               s   = Size of file
  983.               d   = Date of file
  984.               t   = Time of file
  985.               n   = Full FileName, including extension (e.g., FNAME.EXT)
  986.               a   = file Attributes e.g. "H-R-" for a hidden and read-only
  987.                     file; *ZIP, *ARC for files found in ZIP and ARC files
  988.               p   = full Path to file, including disk drive (trailing
  989.                     backslash '\' is excluded for all but Comma-delimited
  990.                     output)
  991.               r   = diRectory path without drive (trailing backslash '\' is
  992.                     excluded for all but Comma-delimited output)
  993.               .   = period put in output
  994.               _   = blank space
  995.               '   = single quote translated to double quote (/e option
  996.                     only).
  997.               %   = to get a % sign (/e option only)
  998.               \   = backslash directory separator
  999.               :   = drive on which file was found (e.g. C:)
  1000.               0-9 = (meaningful with the /fB option only) inserts a
  1001.                     corresponding DOS .BAT file replaceable parameter %0-%9
  1002.                     (e.g. 1->%1);
  1003.  
  1004.               Formatting Examples
  1005.  
  1006.               1. /FCnsdtap displays output in fixed Columns (the default)
  1007.               as follows:
  1008.  
  1009.                   FILENAME.EXT 12345  1/01/92 23:59 HSRA C:\DIR\SUBDIR
  1010.  
  1011.               2. /FPpn displays results in a Packed format as follows:
  1012.  
  1013.                   C:\DIR\SUBDIR\FILENAME.EXT
  1014.  
  1015.               3. /F, displays Comma-delimited results for import into a
  1016.               database as follows:
  1017.  
  1018.                   "FILENAME.EXT","12345","1/01/92","23:59:00","HSRA","C:\DIR\SUBDIR"
  1019.  
  1020.  
  1021.           File Finder/Grouper             17                    (c) EnGamma
  1022.  
  1023.  
  1024.  
  1025.  
  1026.  
  1027.  
  1028.               4. /FB1_2_p\n_34_5 provides format for later Batch file
  1029.               processing:
  1030.  
  1031.                   %1 %2 C:\DIR\SUBDIR\FILENAME.EXT %3%4 %5
  1032.  
  1033.               5. /FB1_p\n_f.2 > changext.bat creates a batch file with
  1034.               lines as follows:
  1035.  
  1036.                   %1 C:\DIR\SUBDIR\FILENAME.EXT FILENAME.%2
  1037.  
  1038.                   Which could then be used as follows to change the
  1039.                   extension of all found files to ".NEW":
  1040.  
  1041.                   changext rename NEW
  1042.  
  1043.               6. /F, /FS! displays comma-delimited output without summary
  1044.               information.
  1045.  
  1046.               7. /FS. displays summary information only
  1047.  
  1048.  
  1049.           /g  Go to directory of first found file
  1050.  
  1051.               When this option is used, FFG changes the current disk drive
  1052.               and directory to the drive/directory of the first found file. 
  1053.               No other files are found.  If the first found file is in an
  1054.               archive file (/z option used), FFG changes to the disk and
  1055.               directory of the archive file that contains the found file. 
  1056.               If searching for directories instead of files, FFG changes
  1057.               into the found directory (makes it the current directory).
  1058.  
  1059.  
  1060.           /h  Hidden directories
  1061.  
  1062.               /h[.|!]
  1063.  
  1064.               Hidden directories are searched by default.  The following
  1065.               modifications are possible:
  1066.  
  1067.               /h  - toggle hidden directories search option (i.e, hidden
  1068.                     directories will be skipped since the default is to
  1069.                     search them)
  1070.               /h. - only hidden directories are searched
  1071.               /h! - do not search hidden directories 
  1072.  
  1073.  
  1074.           /p##    Page at a time
  1075.  
  1076.               /p[##] pause after every ## lines of output; ## is optional;
  1077.  
  1078.               This option causes output and searching to pause after ##
  1079.               lines of screen output.  If ## is not specified, 23 lines
  1080.  
  1081.           File Finder/Grouper             18                    (c) EnGamma
  1082.  
  1083.  
  1084.  
  1085.  
  1086.  
  1087.  
  1088.               will be assumed.  If ## is set to 0, there will be no pause
  1089.               (as though /p were not used at all).
  1090.  
  1091.               ## = blank    - pause after 23 lines of output.
  1092.               ## = 0        - continuous output - don't pause (this is the
  1093.                               default if /p is not specified)
  1094.               ## = 1        - pause after each found file (useful for
  1095.                               providing an opportunity for user interaction
  1096.               ## = other #  - pause after ## lines of output.
  1097.  
  1098.           /q  Quiet - Suppresses all but specified output events
  1099.  
  1100.           /q[M][T][S][F] - Suppresses output for all but:
  1101.  
  1102.               M = Spinning meter
  1103.               T = program title line
  1104.               S = Output summary
  1105.               F = Found File
  1106.  
  1107.                 if /q is specified alone all output is suppressed
  1108.  
  1109.           /r  Recursion (subdirectory search)
  1110.  
  1111.               By default FFG recursively searches all descendent
  1112.               directories of the starting directory in the directory tree
  1113.               structure.  When the /r option is used only the starting
  1114.               directory is searched.
  1115.  
  1116.           /s  Size of file
  1117.  
  1118.               /sSizeRangeStr[[,|']SizeRangeStr...] - include only files
  1119.               matching specified size
  1120.  
  1121.               where SizeRangeStr is one of the following:
  1122.  
  1123.               Size                  - only files of this size
  1124.               MinSize-MaxSize       - only files within this size range
  1125.                                       inclusive
  1126.               -MaxSize              - only files this size or smaller
  1127.               MinSize-              - only files this size or larger
  1128.  
  1129.               MinSize, Size, MaxSize can use suffixes K, M, G as
  1130.               abbreviations of 1 Kilobyte, 1 Megabyte, and 1 Gigabyte (e.g.
  1131.               /s1K-25M)
  1132.               Size Examples
  1133.  
  1134.               /s0                   - empty files
  1135.               /s1M-                 - very large files (>= 1 megabyte)
  1136.               /s-500                - tiny files (<= 500 bytes)
  1137.               /s1K-2K               - 1024-byte to 2048-byte files
  1138.               /s-500 /s!0           - smaller than 500 bytes but not empty
  1139.               /s-500,1M-            - tiny or very large files
  1140.  
  1141.           File Finder/Grouper             19                    (c) EnGamma
  1142.  
  1143.  
  1144.  
  1145.  
  1146.  
  1147.  
  1148.  
  1149.           /t  Time of file
  1150.  
  1151.               /tTimeRangeStr[[,|']TimeRangeStr...] - include only files
  1152.               matching specified times
  1153.  
  1154.               where TimeRangeStr is one of the following:
  1155.  
  1156.               hh:mm:ss              - only files matching this time
  1157.               h1:m1:s1-h2:m2:s2     - only files within this time range
  1158.                                       inclusive
  1159.               -hh:mm:ss             - only files on or before this time
  1160.               hh:mm:ss-             - only files on or after this time
  1161.               nN, Nm                - n minutes before now, m minutes after
  1162.                                       now - can be used as min or max in
  1163.                                       time ranges
  1164.  
  1165.               Times must be specified using a 24-hour clock (i.e, 23:00
  1166.               instead of 11:00 PM).  Time ranges may span 0:00 (midnight). 
  1167.               Asterisks may be used in lieu of hh,mm,ss time elements to
  1168.               ignore an element.  The characters H, M, S can be used in
  1169.               lieu of numeric hh, mm, ss elements to use the current hours
  1170.               (H), minutes (M), seconds (S).  If some elements are left off
  1171.               assumptions are made as follows:  If an element is left off
  1172.               and its separator ':' is not used then '0' is assumed for
  1173.               that element (e.g., 9 -> 9:00:00).  However, if the separator
  1174.               is specified then '*' is assumed for that element (e.g., 9: -
  1175.               > 9:*:*)
  1176.  
  1177.               Time Examples
  1178.  
  1179.               /t-8:00               - Earlybird files (before 8am)
  1180.               /t17:00-8:00          - After-hours files
  1181.               /t17:00-              - Evening/night files
  1182.               /t8:00-17:00          - Workday files
  1183.               /t10N- /dT            - Recent files (within last 10 minutes)
  1184.               /t9:*:*               - Same as range 9:00:00-9:59:59
  1185.               /t9-10                - Same as 9:00:00-10:00:00
  1186.               /t9:-10:              - Same as 9:*:*-10:*:*
  1187.               /t::                  - Same as *:*:*
  1188.               /t9:10:
  1189.  
  1190.           /v[2][4][5] - Change video lines to 25, 43,or 50
  1191.  
  1192.               2 = 25 lines
  1193.               4 = 43 lines (EGA and VGA only)(43 even if its VGA)
  1194.               5 = 50 lines (VGA only)
  1195.  
  1196.               if /v is specified alone the video mode is toggle between the
  1197.               25 and the maximum number of lines supported (43 or 50
  1198.               depending on whether video is EGA or VGA).
  1199.  
  1200.  
  1201.           File Finder/Grouper             20                    (c) EnGamma
  1202.  
  1203.  
  1204.  
  1205.  
  1206.  
  1207.  
  1208.           /x  Exclude Files
  1209.  
  1210.               /xFileMaskList - exclude all files in FileMaskList, 
  1211.  
  1212.               where FileMaskList is a list of file specs separated by ','
  1213.               commas.  For example, /x*.bat,*.exe,*.com or /x*.[bat,exe,com]
  1214.  
  1215.               If multiple /x option switches are specified, a file will be
  1216.               excluded only if it matches all of the separate /x criteria. 
  1217.               For example, /x*boy* /x*dog* will exclude the files
  1218.               BOYDOG.DAT, DOGBOY.DAT, but not BOYS.DAT or DOGS.DAT.
  1219.  
  1220.               To exclude files that contain either 'BOY' or 'DOG' in the
  1221.               name specify:  /x*[boy,dog]*, which is equivalent to
  1222.               /x*boy*,*dog*
  1223.  
  1224.           /z  ZIP and other archive file search
  1225.  
  1226.               /z[.][ArcExtList] - Search inside archive files.
  1227.  
  1228.               .           = search ONLY inside archive files.
  1229.               ArcExtList  = list of file extensions to treat as archives.
  1230.                             e.g.,                                         /zZIP,ARC,LZH,ARJ,COM
  1231.  
  1232.               Archive Examples
  1233.  
  1234.               /zZIP       - Limits archive search to ZIP files
  1235.               /zARC,LZH   - Limits archive search to ARC and LZH files
  1236.               /z.         - Limits search to only archive files
  1237.  
  1238.  
  1239.  
  1240.  
  1241.  
  1242.  
  1243.  
  1244.  
  1245.  
  1246.  
  1247.  
  1248.  
  1249.  
  1250.  
  1251.  
  1252.  
  1253.  
  1254.  
  1255.  
  1256.  
  1257.  
  1258.  
  1259.  
  1260.  
  1261.           File Finder/Grouper             21                    (c) EnGamma
  1262.  
  1263.  
  1264.  
  1265.  
  1266.  
  1267.  
  1268.                      Bugs/Known Deficiencies/Future Improvements
  1269.  
  1270.           1.  An option for finding files containing a specified text
  1271.               string is planned.
  1272.           2.  Further date options are planned such as /dLASTYEAR
  1273.           3.  A date-time option is planned (i.e., /t12/1/93@13:47-)
  1274.           4.  A more general way of specify logical expressions of search
  1275.               criteria is planned, which will allow mixing and matching
  1276.               different criteria.
  1277.  
  1278.  
  1279.  
  1280.  
  1281.  
  1282.  
  1283.  
  1284.  
  1285.  
  1286.  
  1287.  
  1288.  
  1289.  
  1290.  
  1291.  
  1292.  
  1293.  
  1294.  
  1295.  
  1296.  
  1297.  
  1298.  
  1299.  
  1300.  
  1301.  
  1302.  
  1303.  
  1304.  
  1305.  
  1306.  
  1307.  
  1308.  
  1309.  
  1310.  
  1311.  
  1312.  
  1313.  
  1314.  
  1315.  
  1316.  
  1317.  
  1318.  
  1319.  
  1320.  
  1321.           File Finder/Grouper             22                    (c) EnGamma
  1322.  
  1323.  
  1324.  
  1325.  
  1326.  
  1327.  
  1328.                                     Miscellaneous
  1329.  
  1330.           1.  Options can be specified using either '/' or '-' as command
  1331.               line switch characters.
  1332.  
  1333.           2.  FFG is not case sensitive, but future releases may
  1334.               distinguish letter case as new features are added.  Use of
  1335.               lower case letters is recommended.
  1336.  
  1337.           3.  During a search the following keys have a special function:
  1338.  
  1339.               <ESC>         - Aborts/interrupts the search
  1340.               <G>           - Goes to the disk and directory of the last
  1341.                               found file.  If searching for directories,
  1342.                               the found directory will be made current.
  1343.               <S>           - Skips to the next disk drive
  1344.               <B>           - Causes a beep when search complete
  1345.               any other key - Pauses the search operation
  1346.  
  1347.           4.  While searching, FFG displays the drive currently being
  1348.               searched and indicates progress with a spinning run meter. 
  1349.               The meter is updated one increment each time a new directory
  1350.               or a new archive file is searched.  When the meter slows, it
  1351.               is indicative of either a directory with many files or an
  1352.               archive file.
  1353.  
  1354.           5.  Summary Report - FFG displays a summary report of the search
  1355.               operation.  It includes:
  1356.  
  1357.                     -  Total bytes inside all found files.
  1358.                     -  Disk space occupied by found files including unused
  1359.                        space due to the disk cluster/block size.  If the
  1360.                        file is in an archive, then there is no adjustment
  1361.                        made for cluster size.
  1362.                     -  Number of directories searched.
  1363.                     -  Number of directories in which files were found
  1364.                     -  File NameMasks used for the search
  1365.                     -  File NameMasks excluded from the search
  1366.                     -  Date/Time/Size/Attribute masks if used
  1367.                     -  Number of archive files searched
  1368.                     -  Number of archive files in which files were found
  1369.  
  1370.           6.  Logical Combination of Search Criteria - Currently, search
  1371.               criteria of different types (e.g., size and date are
  1372.               different types) are combined in a logical AND expression. 
  1373.               That is, for a file to match it must match all criteria. 
  1374.               However, within a single command line option of one type
  1375.               (e.g., /d), multiple comma-separated criteria are combined in
  1376.               a logical OR expression.
  1377.  
  1378.           7.  One Floppy Systems - When a floppy drive is specified to be
  1379.               searched (e.g., ab*:FILENAME or ab:FILENAME or a:FILENAME or
  1380.  
  1381.           File Finder/Grouper             23                    (c) EnGamma
  1382.  
  1383.  
  1384.  
  1385.  
  1386.  
  1387.  
  1388.               b:FILENAME), FFG will search the system's only floppy drive
  1389.               regardless of whether one or both floppies were specified. 
  1390.               The summary will report whichever logical drive letter DOS
  1391.               was using at the time to refer to the drive.  (This might be
  1392.               B: if, prior to running FFG, you tried accessing floppy drive
  1393.               B:.)
  1394.  
  1395.           8.  FFG can be renamed.  FFG will recognize the new name and
  1396.               display it in the usage screen if you are using DOS 3.0 or
  1397.               later.
  1398.  
  1399.           9.  Conventions - Several options attach special significance to
  1400.               '!' and to '.'.  Generally, '!' is used to represent
  1401.               "negation"/"logical not"/"turn off".  Generally '.' is used
  1402.               to represent "only"/"these period"/"no others".
  1403.  
  1404.           10. Commas and batch files - As shown in several of the example
  1405.               batch files, FFG can be used in batch files to build some
  1406.               special or general purpose utilities.  However, there is an
  1407.               annoying problem with encapsulating FFG in a batch file that
  1408.               arises because of the the use of the comma ',' as a delimiter
  1409.               for search criteria.  The problem arises because when a comma
  1410.               is used in an argument to a batch file command, DOS
  1411.               interprets it just like a space and it is not passed on to
  1412.               FFG.  To sidestep this problem, FFG accepts alternatives to
  1413.               the comma as follows:
  1414.  
  1415.                      For Name criteria (including /x option) you can use a
  1416.                      slash "/" instead of the comma.  
  1417.  
  1418.                      For date, time, size, day-of-week, and attribute
  1419.                      criteria, you can use a single quote "'".
  1420.  
  1421.               Note that there is no problem using commas inside a batch
  1422.               file; the problem arises when including commas in a
  1423.               command line argument to a batch file.
  1424.  
  1425.           11. FFG was developed using Borland C++ 3.1.
  1426.  
  1427.  
  1428.  
  1429.  
  1430.  
  1431.  
  1432.  
  1433.  
  1434.  
  1435.  
  1436.  
  1437.  
  1438.  
  1439.  
  1440.  
  1441.           File Finder/Grouper             24                    (c) EnGamma
  1442.  
  1443.  
  1444.  
  1445.  
  1446.  
  1447.  
  1448.                                    Revision History
  1449.  
  1450.           For those who are interested here is how FFG has evolved:
  1451.  
  1452.           Vers   Date   Description of Change
  1453.           ----
  1454.           1.5x   10/29/93  - On one-floppy systems only the floppy drive that is physcally present is searched
  1455.                              when A:, B: or both are specified
  1456.                  10/28/93  - Disabled unnecessary scan of floppies during an all hard drive "*:" search.
  1457.                  10/26/93  - Improved Archive search speed by 20% or more
  1458.           1.53s  10/25/93  - Made shell look for comspec env variable vice assume command.com
  1459.                            - Sets PROMPT=[FFG] %OLDPROMPT% as reminder when shelling to DOS
  1460.           1.53r  10/24/93  - Converted to overlaid EXE to reduce memory requirements to ~140K
  1461.                            - Bug Fix: Add memory allocation checks to avoid lockups on low memory
  1462.                            - Adds shell-to-DOS option to the execute-w/confirm-prompt
  1463.           1.53p  10/13/93  - Makes 43-line video mode possible w/VGA
  1464.           1.53o  10/11/93  - Overhauled help.  Provided help option /?.
  1465.           1.53l   9/25/93  - Add video mode detection switching and reset
  1466.           1.53j    9/3/93  - Now unlimited number of /d, /t, /s, /a args allowed
  1467.                            - Adds /tN function and other expanded time capability (/th:m:s, /t*:*:*)
  1468.                            - Bug Fix: /dSU- wouldn't find all files
  1469.                            - Adds current date for month, day or year (m/d/y)
  1470.                            - Adds wild date capability: '*' for month, day or year
  1471.                            - Adds exclude for date
  1472.                            - Bug fix: eliminates empty comma fields for ZIP when Z not specified
  1473.                            - Adds exclude for time
  1474.           1.53c   8/12/93  - Efficiency improvements to do only file info checks required
  1475.                            - Bug fix: where /dSaturday was interpreted as TUesday because of 'saTUrday'
  1476.           1.53b    8/9/93  - Cleaned up help screen errors
  1477.           1.53a    8/9/93  - Adds size range exclude capability
  1478.           1.53     8/4/93  - Adds range capability to day-of-week date specs (e.g., /dSA-SU)
  1479.                            - Adds NOT capability for attributes switch
  1480.                            - Fixes bug (since 1.52) that caused /a switch to not work
  1481.           1.52    7/29/93  - Overrides recursion switch (/r) if a wildcard path is used
  1482.                            - Adds limited wild path capability (usage will likely change)
  1483.                            - Keeps running meter visible when output redirected to a file
  1484.                            - Improves Archive search speed for small archived files
  1485.                            - Improves Archive search efficiency
  1486.                            - Adds on-the-fly ability to turn on beep-when-done switch
  1487.                            - Further modularization of display functions
  1488.                            - Puts commas in all summary numbers
  1489.                            - Speeds up search when NameMask can use DOS wildcard conventions
  1490.                            - Adds Z format specifier to enabling using archive name in output & commands
  1491.                            - Permits use of '/' in lieu of ',' for separating bracketed alternatives. Needed
  1492.                              to avoid having DOS interpret the comma as a delimiter when FFG NameMask is
  1493.                              specified as an argument to a batch file.
  1494.                            - More graceful handling of errors in use of brackets with alternatives.
  1495.                            - Adds capability to specify bracketed alternatives: *[zip,arc]*.[com,exe,bat]
  1496.                            - Improves appearance of directory search output so that all subdirs at one level
  1497.                              are displayed together.
  1498.                            - Adds ability to specify double quote with /e as %'
  1499.                            - Further internal modularization
  1500.                            - Adds /1 "Find One Only" option
  1501.  
  1502.                  File Finder/Grouper             25                    (c) EnGamma
  1503.  
  1504.  
  1505.  
  1506.  
  1507.  
  1508.  
  1509.                            - Adds a /b "Beep" option for beep on F-ind, P-rompt, D-one
  1510.                            - Fixes bug w/ /p when 0 or non-number specified which cause divide error
  1511.           1.51     6/7/93  - Added /e "Execute Command" switch, which allows a command to be executed for each
  1512.                              found file
  1513.                            - Switched to large memory model and size changed from 80K->110K
  1514.                            - Fixed bug where archive files streams weren't being closed properly
  1515.                            - Attributes field for files in Archives now shows archive type (e.g., *ZIP, *LZH)
  1516.                            - Improves response to user keypresses during search inside
  1517.                              archives
  1518.                            - /e Executes commands from disk/directory of found file
  1519.                            - Adds Quiet option /q w/options (m,f,s,t) to restore display of meter, files,
  1520.                              summary, title
  1521.                            - Adds a skip remainder of drive search feature
  1522.                            - Further modularizes FFG
  1523.                            - Fixes bug in /q switch, which wasn't suppressing found files
  1524.           1.50    5/10/93  - Fixes bug where /g option did not change into found directory
  1525.           1.49     5/9/93  - Cause all drive not ready errors to be ignored (Failed)
  1526.                            - Determines whether drives are logical drives at one time to improve the
  1527.                              reliability of the logical drive determination
  1528.                            - Fixed bug where only first of multiple drive ranges in DriveSpec were considered.
  1529.                              For example, a-df-z:*.* would have searched only drives A:-D:
  1530.           1.48     5/8/93  - Fixes bug where "/fb." displays 0s and 1s instead of a period '.'
  1531.                            - Adds result codes: 1 = found, 0 = not found (and others for errors)
  1532.                            - Adds new output format specifier 'n' for full file name (same as "f.e")
  1533.                            - Changed Abort/interrupt message to appear even if summary display turned off
  1534.           1.47     5/4/93  - Adds "Bytes Occupied" based on disk cluster size to summary report
  1535.           1.46     5/1/93  - Fixes bug where root directory files were reported to be in current directory
  1536.                            - Updated help screens
  1537.           1.45    4/27/93  - Improves speed of archive file searches
  1538.           1.44    4/22/93  - Adds ability to search by day of the week on files were last modified or created
  1539.           1.43    4/14/93  - Fixes bug where trailing backslash was displayed when ':' used as an output
  1540.                              format specifier
  1541.           1.42    4/14/93  - Allows extensionless files/dirs to be found without putting period in spec
  1542.                            - Made some display changes including:
  1543.                            - no terminating period '.' is displayed for extensionless files
  1544.                            - Adds '\' as format string specifier so it can be appended to the directory path
  1545.                              as a separator (needed mainly for subsequent batch processing because some DOS
  1546.                              command and programs choke on the trailing backslash.
  1547.                            - User-specified batch file output is packed by default
  1548.                            - Adds key to resume screen-Page-at-time feature from paused screen
  1549.           1.41    4/12/93  - Adds directory name search capability w/ '\'
  1550.                            - Other internal improvements
  1551.           1.40     4/1/93  - No significant changes
  1552.           1.39     4/1/93  - Adds capability to search .ARJ archives
  1553.                            - Fixes bug where *. didn't find extensionless files
  1554.           1.38    3/29/93  - Cleans up old ARC file searches so garbage files not reported as found in archive
  1555.                            - Fixes bug in skipping to next file in an archive file
  1556.                            - Fixes bug in ARC search, which missed SQUASHED files
  1557.           1.37    3/29/93  - Adapts GoTo function semantics for archive file searches, so it changes to the
  1558.                              directory containing the archive file
  1559.           1.36    3/28/93  - Adds capability to search XEQ.COM libraries with /z option
  1560.                            - Adds archive extension list to /Z so that the archive file types to search can be
  1561.  
  1562.                  File Finder/Grouper             26                    (c) EnGamma
  1563.  
  1564.  
  1565.  
  1566.  
  1567.  
  1568.  
  1569.                              explicitly specified, e.g. /zZIP,ARC
  1570.                            - Changed name from Flexible File Finder (FFF.EXE) when a PC Magazine Utility by
  1571.                                            the same name and similar function was discovered.
  1572.           1.35    3/27/93  - Adds capability to search .ARC archives (ARC, PKARC)
  1573.           1.34    3/27/93  - Adds capability to search .LZH archives (LHARC)
  1574.           1.33    3/21/93  - Adds archive /Z (only ZIP for now) file capability (PKZIP)
  1575.           1.32     3/3/93  - Improves Today feature to handle Today + n (Tn), Today - n (nT)
  1576.           1.31     3/1/93  - Adds "Today" feature to date switch, e.g. /dt for all files with today's date
  1577.           1.30    2/23/93  - Fixes bug with time switch, /t
  1578.           1.29    2/15/93  - Tunes spinning run meter
  1579.                            - Updates formatting examples for rev 1.25-1.26 /fb features
  1580.                            - Implements the running meter as separate "SpinMeter" class/object
  1581.                            - Editorial changes to summary output formatting
  1582.                            - Changed K suffix to mean 1024 bytes vice 1000 and similar changes for M, G
  1583.                              abbreviations in file size
  1584.                            - Fixed extra file display bug when ESC pressed from pause screen (bug from v1.22
  1585.                              GoTo mods)
  1586.           1.28    2/12/93  - Adds spinning run meter to indicate program is working and not hung
  1587.           1.27     2/8/93  - Fixes /fb (Batch File) format to enable more than just file.ext output
  1588.                            - Adds ':' (Drive) and 'R' (Directory) formatting options so these subelements of
  1589.                              the path can be extracted
  1590.           1.26     2/7/93  - Fixes bug with time /t switch that causes hours > 16 to be treated as h-16
  1591.                            - Allows /t Time Range to span midnight such as 23:00-01:00
  1592.           1.25     2/4/93  - Adds Batch file output format /fB
  1593.           1.24     2/4/93  - Adds ability to expand drive ranges A-D: -> ABCD:
  1594.                            - Changes output format type specifiers for Column 0->C, Packed 1->P, Summary !->S
  1595.           1.23    1/31/93  - Improved summary display
  1596.                            - Fixed bug associated with displaying large (100M+) files
  1597.                            - Added directory count tally to summary
  1598.           1.22    1/28/93  - Adds internal option (not yet implemented for user) to treat no drive spec as *:
  1599.                              (all drives)
  1600.                            - Adds user GoTo interrupt which changes to directory of most recent found file
  1601.           1.21    1/26/93  - Removed case sensitivity of command line switches
  1602.           1.20    1/25/93  - Fixes bug (v1.16) where non-wild specs aren't found!
  1603.           1.19    1/25/93  - Adds additional usage/help screens
  1604.           1.15   12/07/92  - Restores function recursion switch /r which was inadvertently deleted in 1.14
  1605.                            - Adds hidden directory search switch and searches hidden directories
  1606.                            - Adds /f! to suppress summary info display
  1607.           1.18    1/23/93  - Uses + to separate multiple filespec masks
  1608.           1.17    1/23/93  - Adds capability to specify multiple exclude filespec  masks
  1609.           1.16    1/23/93  - Adds capability to search for multiple filespec masks
  1610.           1.14   12/06/92  - Object-oriented improvements
  1611.                            - Fixes bug introduced in 1.13 which caused /g switch to not work
  1612.           1.13   11/24/92  - Fixes bug where drives are accessed even after <ESC> is pressed
  1613.           1.12   11/24/92  - Fixes bug with /g switch when file is in root directory
  1614.                            - Fixes bug where one file per drive is found after <ESC> pressed
  1615.           1.11   11/22/92  - Adds comma-delimited ASCII database format
  1616.                            - Improves default output formatting for /f, /f0 /f1
  1617.           1.10   11/21/92  - Improves User keyboard pausing/interrupt.
  1618.           1.09   11/18/92  - Adds /t (time range) switch
  1619.                            - Adds /g (GoTo) switch
  1620.           1.08   11/17/92  - Adds /a (attribute) switch - improved
  1621.  
  1622.                  File Finder/Grouper             27                    (c) EnGamma
  1623.  
  1624.  
  1625.  
  1626.  
  1627.  
  1628.  
  1629.                            - Adds /d (date range) switch
  1630.           1.07   11/16/92  - Adds /s (size range) switch
  1631.           1.06   11/16/92  - Internal Programming methodology changes
  1632.                            - Adds /r (no recursion) switch
  1633.           1.05   11/15/92  - Adds ability to specify drives before wildcard drive: ab*lmn
  1634.           1.04   11/14/92  - Adds command line parameter capability
  1635.                            - Adds /x (exclude spec) switch
  1636.                            - Adds limited attribute filtering (-a)
  1637.                            - Adds /p (screen pauses with prompt) (-p##)
  1638.                            - fixed bug where mask is longer than prospect file *????????*
  1639.           1.03   11/11/92  - Formats "bytes occupied" with commas
  1640.                            - Adds file attributes to display
  1641.           1.02   11/09/92  - Fixes bug that causes root directory files to appear in default directory
  1642.  
  1643.  
  1644.  
  1645.  
  1646.  
  1647.  
  1648.  
  1649.  
  1650.  
  1651.  
  1652.  
  1653.  
  1654.  
  1655.  
  1656.  
  1657.  
  1658.  
  1659.  
  1660.  
  1661.  
  1662.  
  1663.  
  1664.  
  1665.  
  1666.  
  1667.  
  1668.  
  1669.  
  1670.  
  1671.  
  1672.  
  1673.  
  1674.  
  1675.  
  1676.  
  1677.  
  1678.  
  1679.  
  1680.  
  1681.  
  1682.           File Finder/Grouper             28                    (c) EnGamma
  1683.