home *** CD-ROM | disk | FTP | other *** search
/ Simtel MSDOS 1992 June / SIMTEL_0692.cdr / msdos / dirutl / sf33.arc / SF.DOC < prev    next >
Encoding:
Text File  |  1989-03-30  |  78.9 KB  |  2,179 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7.  
  8.  
  9.                            SF - Subtree Find
  10.  
  11.                               Version 3.3
  12.  
  13.                         Thursday March 30, 1989
  14.  
  15.                          Documentation for SF
  16.  
  17.                                   by
  18.  
  19.                            Howard Kapustein
  20.  
  21.              Copyright (c) 1988,1989, All rights reserved
  22.  
  23.  
  24.                            Howard Kapustein
  25.                            1695 Barbara Lane
  26.                          East Meadow, NY 11554
  27.                             (516) 481-9612
  28.  
  29.  
  30.  
  31.  
  32.  
  33.  
  34.  
  35.  
  36.  
  37.  
  38.  
  39.  
  40.  
  41.  
  42.  
  43.  
  44.  
  45.  
  46.  
  47.  
  48.  
  49.  
  50.  
  51.  
  52.  
  53.  
  54.  
  55.  
  56.  
  57.  
  58.  
  59.  
  60.  
  61.  
  62.  
  63.  
  64.  
  65.  
  66.  
  67.  
  68.  
  69.  
  70.  
  71.  
  72.  
  73.                                 Contents
  74.  
  75.  
  76. COPYRIGHT AND DISCLAIMER  ..........................................   4
  77.  
  78. LICENSE  ...........................................................   4
  79.  
  80. TRADEMARKS  ........................................................   5
  81.  
  82. WHAT IS SUBTREE FIND  ..............................................   5
  83.  
  84. FILE ATTRIBUTES  ...................................................   6
  85.  
  86. INVOKING SUBTREE FIND  .............................................   7
  87.  
  88. SUBTREE FIND OPTIONS  ..............................................   8
  89.     Attributes:  ...................................................   9
  90.          ARCHIVE attribute  ........................................   9
  91.          HIDDEN attribute  .........................................   9
  92.          READ-ONLY attribute  ......................................   9
  93.          SYSTEM attribute  .........................................   9
  94.          Directory attribute  ......................................   9
  95.          Volume Label attribute  ...................................   9
  96.          EXACT MATCH  ..............................................   9
  97.          MATCH  ....................................................   9
  98.     Criteria:  .....................................................   9
  99.          FILE STAMP  ...............................................   9
  100.     Info:  .........................................................  10
  101.          FREE DISK SPACE  ..........................................  10
  102.          ELAPSED TIME ..............................................  10
  103.          USED DISK SPACE ...........................................  11
  104.     Search:  .......................................................  11
  105.          ONE MATCH  ................................................  11
  106.          FIFO SEARCH ...............................................  11
  107.          NO SUBDIR SEARCH ..........................................  11
  108.          SEARCH .ARC FILES .........................................  11
  109.          SEARCH .ZIP FILES .........................................  11
  110.     Output:  .......................................................  12
  111.          COLOR .....................................................  12
  112.          PAUSE .....................................................  12
  113.          QUIET .....................................................  13
  114.          BIOS OUTPUT ...............................................  13
  115.          REDIRECTABLE OUTPUT  ......................................  13
  116.     Other:  ........................................................  13
  117.          BATCH MODE:  ..............................................  13
  118.          JUMP TO SUBDIRECTORY ......................................  13
  119.          KILL (DELETE) FILES .......................................  13
  120.          VERIFY BEFORE KILLING FILES ...............................  13
  121.          WAIT FOR KEYPRESS .........................................  14
  122.          SET ATTRIBUTES ............................................  14
  123.          TOUCH  ....................................................  14
  124.     Special  .......................................................  15
  125.          SAVE DEFAULT OPTIONS ......................................  15
  126.          MISCELLANEOUS PARAMETERS ..................................  15
  127.  
  128.  
  129.  
  130.  
  131.  
  132.  
  133.  
  134.  
  135.  
  136.  
  137.  
  138.  
  139.           HELP  ....................................................  15
  140.           EXTENDED HELP  ...........................................  15
  141.  
  142. PAUSING THE DISPLAY  ...............................................  16
  143.  
  144. SF DISPLAY INFORMATION  ............................................  16
  145.  
  146. DOS VARIABLES  .....................................................  16
  147.  
  148. REQUIREMENTS  ......................................................  17
  149.  
  150. OPTIMAL PERFORMANCE  ...............................................  18
  151.  
  152. INFORMATION  .......................................................  18
  153.  
  154. UPDATES / RELEASES  ................................................  19
  155.  
  156. FUTURE RELEASES  ...................................................  25
  157.  
  158. ABOUT THE AUTHOR  ..................................................  26
  159.  
  160. OTHER PRODUCTS  ....................................................  26
  161.  
  162. SUPPORT  ...........................................................  26
  163.  
  164. APPENDIX A - MISCELLANEOUS PARAMETER  ..............................  28
  165.  
  166. APPENDIX B - ERROR LEVEL  ..........................................  30
  167.  
  168. APPENDIX C - SEARCHING ARC AND ZIP FILES  ..........................  32
  169.  
  170.  
  171.  
  172.  
  173.  
  174.  
  175.  
  176.  
  177.  
  178.  
  179.  
  180.  
  181.  
  182.  
  183.  
  184.  
  185.  
  186.  
  187.  
  188.  
  189.  
  190.  
  191.  
  192.  
  193.  
  194.  
  195.  
  196.  
  197.  
  198.  
  199.  
  200.  
  201.  
  202.  
  203.  
  204.  
  205.                         COPYRIGHT AND DISCLAIMER
  206.  
  207.      This program and documentation are Copyrighted (C) 1988,1989 by
  208.      Howard Kapustein, All Rights Reserved.
  209.  
  210.      Use of this program acknowledges this disclaimer of warranty:
  211.      "This program is supplied as-is. The author disclaims all
  212.      warranties, expressed or implied, including, without limitation,
  213.      the warranties of merchantability and of fitness of this program
  214.      for any purpose. The author assumes no liability for damages
  215.      direct or consequential, which may result from the use of this
  216.      program."
  217.  
  218.  
  219.  
  220.                                 LICENSE
  221.  
  222.      SF is distributed as "SHAREWARE." This does NOT mean that SF is
  223.      free. There are several kinds of software, but these three are
  224.      most popular:
  225.  
  226.           Public Domain: not for sale. Public Domain software is free.
  227.                          Programs listed in magazines are usually PD
  228.                          unless otherwise specified.
  229.  
  230.           Commercial:    exactly what it sounds like, so called 'real'
  231.                          software, like 1-2-3 or dBASE III+.
  232.  
  233.           Shareware:     similar to Commercial software, but without
  234.                          the inflated price tag. Shareware has 2 big
  235.                          advantages over commercial software: price and
  236.                          reliability.
  237.  
  238.      Because I don't have much overhead (I don't spend millions on
  239.      advertising, packaging, etc.) I can sell my program to you for a
  240.      reasonable price (I have never seen a shareware product with a
  241.      list price of $200, and most 'Commercial' software sells for much
  242.      more than that.)
  243.  
  244.      More importantly, you get to test drive the program BEFORE
  245.      shelling out any money. You are under no obligation to pay for a
  246.      shareware program during the trial period. After the initial trial
  247.      period you may either register or stop using it. Very simply it's
  248.      a limited time money back guarantee.
  249.  
  250.      If you like SF, let me know by sending me a picture postcard. If
  251.      you really like SF, and would like to make a donation to support
  252.      my continuing work on SF and other products, I suggest $10, but
  253.      feel free to send me what you think SF is worth. I promise any
  254.      monies received will go into a computer slush fund and won't be
  255.      spent on something trivial like food, heat, the rent, etc.
  256.  
  257.      All registered owners (those making donations of $10 or more) will
  258.      receive the next release of Subtree Find when it becomes 
  259.  
  260.  
  261.  
  262.                                                              Page 1
  263.  
  264.  
  265.  
  266.  
  267.  
  268.  
  269.  
  270.  
  271.      available. All registered owners will be notified when future
  272.      versions of Subtree Find become available. If you would like a
  273.      specially compiled version of Subtree Find, I am open to
  274.      discussion. Please remember that I can not pay for rent, food,
  275.      auto insurance, or any of life's expenses with registration money
  276.      (my name isn't Datastorm, PKware or SemWare). Shareware is usually
  277.      a thankless task, and almost never profitable. If you would like
  278.      specific changes incorporated into Subtree Find, and I do not add
  279.      in the change on my own, a modest fee will be requested.
  280.  
  281.      SF may not be distributed without this documentation.
  282.  
  283.  
  284.  
  285.                                TRADEMARKS
  286.  
  287.              1-2-3 is a registered trademark of Lotus, Inc.
  288.            dBASE is a registered trademark of Ashton-Tate Inc.
  289.      DESQview is a registered trademark of Quarterdeck Office Systems
  290.  
  291.  
  292.  
  293.                           WHAT IS SUBTREE FIND
  294.  
  295.      Subtree Find fills a (to me) vital niche missed by DOS and other
  296.      utilities. I wanted a program to search a subtree of my disk, but
  297.      alas, DIR only works on one directory (why didn't Microsoft put in
  298.      a /S option like they did with XCOPY? Then again, why didn't MS
  299.      write us a real operating system and save us all many hours of
  300.      grief?) and utilities such as Find File by Peter Norton and Fast
  301.      File Finder by Keith P. Graham only work on an entire drive. Now
  302.      don't get me wrong, they all do a great job, just not the job I
  303.      need. So voila! I wrote Subtree Find.
  304.  
  305.      My main goals when writing SF were:
  306.  
  307.           - search just a subtree of an entire disk
  308.  
  309.           - the same information provided by DIR and more, like
  310.             attributes and space used by files
  311.  
  312.           - search by any information about files (attributes, date,
  313.             time and size as well as a filespec)
  314.  
  315.           - pause during execution for ease of reading
  316.  
  317.           - match filenames 100% identically like DIR
  318.  
  319.           - search inside .ARC and .ZIP files
  320.  
  321.      One of the more important features was that SF should accept
  322.      wildcarded filenames (*,?) and match them EXACTLY as DIR does.
  323.      This turned out to be the hardest part to implement. Some
  324.      filenames are parsed by DIR differently than you would think. 
  325.  
  326.  
  327.  
  328.                                                              Page 2
  329.  
  330.  
  331.  
  332.  
  333.  
  334.  
  335.  
  336.  
  337.      Subtree Find will accept any filespec that DIR will, and will
  338.      parse it the same as DIR will, just over multiple directories.
  339.  
  340.      Possible uses of SF:
  341.  
  342.           - enhanced DIR display
  343.  
  344.           - display disk space used by files
  345.  
  346.           - find files with certain attributes
  347.  
  348.           - find files modified since a certain date
  349.  
  350.           - search a subtree of a disk
  351.  
  352.           - search an entire disk for a filespec (just specify the root
  353.             directory and all subdirectories will get searched, thus
  354.             the entire disk)
  355.  
  356.           - an ARC or ZIP viewer/searcher
  357.  
  358.  
  359.  
  360.                             FILE ATTRIBUTES
  361.  
  362.      Before going any further I think I should explain what file
  363.      attributes are. If you already know, just skip this section.
  364.  
  365.      DOS keeps information about each file on a disk, such as the file
  366.      name, size, date and time it was last changed, where the file is
  367.      located on disk, and other useful tidbits. Every file has what is
  368.      called an attribute byte. This byte stores all information about
  369.      the file's attributes as a bit pattern:
  370.  
  371.                DECIMAL    128  64  32  16  8   4   2   1
  372.                          ┌───┬───┬───┬───┬───┬───┬───┬───┐
  373.                          │ ? │ ? │ A │ D │ L │ S │ H │ R │
  374.                          └───┴───┴───┴───┴───┴───┴───┴───┘
  375.                   HEX     80h 40h 20h 10h 08h 04h 02h 01h
  376.  
  377.           Archive   Directory   Label   System   Hidden   Read-Only
  378.  
  379.           The ? are not used by DOS (yet).
  380.  
  381.      So what does this all mean? If you didn't understand the chart,
  382.      don't worry. All you have to know is each file has a flag for each
  383.      attribute.
  384.  
  385.      But wait! Didn't I see Directory up there? Sharp eyes. The only
  386.      way DOS can distinguish between any old file and a subdirectory is
  387.      by the Directory bit. Remember when I said DOS stores info about
  388.      each file? Well, it knows where each file is located on the disk,
  389.      so when you use your handy dandy word processor to edit your boss'
  390.      memo, DOS knows where on the disk to look for the memo. For 
  391.  
  392.  
  393.  
  394.                                                              Page 3
  395.  
  396.  
  397.  
  398.  
  399.  
  400.  
  401.  
  402.  
  403.      directories, the location of the 'data' is really just another
  404.      subdirectory listing.
  405.  
  406.      Another interesting item is the Label flag. Every disk can have a
  407.      volume label (DIR will display the volume label for you). The
  408.      volume label is just another filename stored in the root
  409.      directory, except it has the Label flag turned on.
  410.  
  411.      Any file can have their Read-Only, Hidden, System and/or Archive
  412.      (RHSA) bits turned on. Subdirectories have their Directory (D) bit
  413.      enabled, and there should only be 1 Label (L), in the root
  414.      directory.
  415.  
  416.  
  417.  
  418.                          INVOKING SUBTREE FIND
  419.  
  420.      Subtree Find is invoked from the command line as follows:
  421.  
  422.           SF [options] [d:][path][filespec] [options]
  423.  
  424.      Options:  -option   or   -option+  turns an option on
  425.                -option-                 turns an option off
  426.                -option*                 toggles an option
  427.  
  428.      Optional drive, path and filespec.
  429.  
  430.      Some examples:
  431.  
  432.           SF -he -f- c:\turboc     searches the C:\TURBOC branch for
  433.                                    all files that have only the HIDDEN
  434.                                    attribute, and does not display free
  435.                                    disk space when done
  436.  
  437.           SF -xm \ -u              searches the current drive
  438.                                    (specifying the root will have SF
  439.                                    search the entire disk) for any file
  440.                                    (default *.*) that has R, H, S, A
  441.                                    and/or no attributes set, and
  442.                                    displays space used by files per
  443.                                    subdirectory and total space used
  444.                                    when finished
  445.  
  446.           SF -f-t C:\turboc\*.h    searches the c:\turboc branch for
  447.                                    all 'normal' files (visible to DIR)
  448.                                    matching *.h and displays the total
  449.                                    space used by those files upon
  450.                                    completion. No disk free space
  451.                                    message will appear.
  452.  
  453.  
  454.  
  455.  
  456.  
  457.  
  458.  
  459.  
  460.                                                              Page 4
  461.  
  462.  
  463.  
  464.  
  465.  
  466.  
  467.  
  468.  
  469.                           SUBTREE FIND OPTIONS
  470.  
  471.      Here is a list of the options supported by SF:
  472.  
  473.                   Parm   Option                  ON by default
  474.                   ────   ──────                  ─────────────
  475.      Attributes:    -a   archive                       *
  476.                     -h   hidden
  477.                     -r   read-only                     *
  478.                     -s   system
  479.                     -d   directory                     *
  480.                     -l   label
  481.  
  482.                     -x   all attributes (rhsa)
  483.                     -e   exact match
  484.                     -m   matched files only
  485.  
  486.      Criteria:      (min-max)      file size, date and/or time
  487.  
  488.      Info:          -f   free disk space
  489.                     -t   elapsed time                  *
  490.                     -u   used disk space               *
  491.  
  492.      Search:        -1   stop after 1st match
  493.                     -n   no subdirectory tracing
  494.                     -i   FIFO search of subdirectories
  495.                  -y[=]   search [only] inside .ARC files
  496.                  -z[=]   search [only] inside .ZIP files
  497.  
  498.      Output:        -c   color
  499.                  -p[n]   pause every n lines
  500.                     -q   quit mode                     *
  501.                     -$   use BIOS for output
  502.                     -&   use redirectable output routines
  503.  
  504.      Other:         -b   batch (unattended) mode
  505.                     -j   jump to subdirectory
  506.                     -k   kill/delete files, NO PROMPT
  507.                     -v   verify before deleting files
  508.                  -w[n]   wait for a keypress when done
  509.                [hrsax]   set attributes (x = all)
  510.                {touch}   modify file date/time stamp
  511.  
  512.      Special:       -g   save default options
  513.                -@n[:v]   miscellaneous parameters
  514.  
  515.      Help:          -?   help
  516.                    -??   extended help
  517.  
  518.  
  519.  
  520.  
  521.  
  522.  
  523.  
  524.  
  525.  
  526.                                                              Page 5
  527.  
  528.  
  529.  
  530.  
  531.  
  532.  
  533.  
  534.  
  535.       Attributes:
  536.      ───────────
  537.  
  538.           -a    ARCHIVE attribute
  539.           -h    HIDDEN attribute
  540.           -r    READ-ONLY attribute
  541.           -s    SYSTEM attribute
  542.  
  543.            -x  toggles all 'normal' attributes (the same as -ahrs)
  544.           -d    Directory attribute
  545.           -l    Volume Label attribute
  546.  
  547.           -e    EXACT MATCH:       all files found must have EXACTLY
  548.                                    the same attributes as those
  549.                                    searched for. The command
  550.  
  551.                                    SF -hrse \turboc
  552.  
  553.                              will search the subtree for all files that
  554.                              have only the Hidden, Read-Only AND System
  555.                              bits enabled. In this case, if a file has
  556.                              HR (the system attribute is not enabled)
  557.                              it will NOT be displayed.
  558.  
  559.           -m    MATCH:   all files with the matching attributes,
  560.                          regardless of how their other attributes are
  561.                          set, will be displayed. Similar to Exact
  562.                          matching (-e) but less rigorous, match will
  563.                          find all files with the attributes specified
  564.                          (turned on.) Similar to the above example,
  565.  
  566.                               SF -hrsm \turboc
  567.  
  568.                        will search the subtree for all files that have
  569.                        Hidden,Read-Only, AND/OR System bits enabled.
  570.                        Unlike exact matching, match will display a file
  571.                        that only has Hidden and Read-Only (HR) bits on
  572.                        for the above example.
  573.  
  574.                NOTE:  for Match (-m) to work properly, the ARCHIVE flag
  575.                       is turned OFF when match is specified (-m is
  576.                       really -ma-). If you wish to match files with the
  577.                       Archive bit, you must turn it back on in the
  578.                       command line AFTER match is specified (-ma,
  579.                       -mhra+, etc.)
  580.  
  581.       Criteria:
  582.      ─────────
  583.  
  584.           (min-max)    FILE STAMP:      a minimum and/or maximum file
  585.                                         size, date and/or time can be
  586.                                         specified for matching files. 
  587.  
  588.  
  589.  
  590.  
  591.  
  592.                                                              Page 6
  593.  
  594.  
  595.  
  596.  
  597.  
  598.  
  599.  
  600.  
  601.                                         The format for this option
  602.                                         varies from the other options:
  603.  
  604.                                         ([min][-][max])
  605.  
  606.                                   The following formats are expected:
  607.  
  608.                                         [prefix]n[suffix]
  609.  
  610.                                   where
  611.  
  612.                                         prefix is an optional prefix
  613.                                         forcing the value to be of that
  614.                                         type. Acceptable prefixes are S
  615.                                         (size), D (Date) and T (Time)
  616.  
  617.                                         n is the value (a number, date
  618.                                         or time)
  619.  
  620.                                         suffix is only valid for a
  621.                                         Size. Optional suffixes are B
  622.                                         (Bytes), K (Kilobytes) and M
  623.                                         (Megabytes)
  624.  
  625.                                   SF knows that 10K is 10 kilobytes
  626.                                   (10,240 bytes) and 1M is 1 megabyte
  627.                                   (1K * 1K). No decimal is allowed
  628.                                   ('512' is 512 bytes but 0.5K is not
  629.                                   valid).
  630.  
  631.                                   NOTE: The min and max parameters MUST
  632.                                         be separated by a dash. If a
  633.                                         date is given, it MUST be
  634.                                         delimited with slashes.
  635.  
  636.                                   NOTE: DOS stores file times as hours
  637.                                         (0-23), minutes (0-59) and
  638.                                         seconds divided by 2 (0-28). SF
  639.                                         accepts normal time (10:5:21)
  640.                                         and converts it to DOS' format.
  641.                                         Because of the way DOS stores
  642.                                         the time, 10:5:21 and 10:5:20
  643.                                         are the same.
  644.  
  645.       Info:
  646.      ─────
  647.  
  648.           -f    FREE DISK SPACE:        displays free disk space upon
  649.                                         completion
  650.  
  651.           -t    ELAPSED TIME:    the time it took SF to perform the
  652.                                  search will be displayed in
  653.                                  hh:mm:ss:uu format
  654.                                  (hours:minutes:seconds:hundreths of
  655.                                  seconds)
  656.  
  657.  
  658.                                                              Page 7
  659.  
  660.  
  661.  
  662.  
  663.  
  664.  
  665.  
  666.  
  667.           -u    USED DISK SPACE:        each subdirectory with files
  668.                                         matched will have the total
  669.                                         size of those files listed.
  670.                                         Directory entries have a size
  671.                                         of zero. Upon completion, the
  672.                                         total size of all matched files
  673.                                         will be displayed. If ARC or
  674.                                         ZIP files are searched, totals
  675.                                         for ARCs and ZIPs may be
  676.                                         displayed also. See Appendix A
  677.                                         for more details
  678.  
  679.       Search:
  680.      ───────
  681.  
  682.           -1   JUST  ONE MATCH:         stops after 1st match
  683.  
  684.           -i    FIFO SEARCH:    SF keeps a list of all subdirectories
  685.                                 to search and updates this list as new
  686.                                 ones are found. If FIFO
  687.                                 (first-in-first-out) is not enabled the
  688.                                 list will be updated in alphabetical
  689.                                 order. Thus, SF will search the disk a
  690.                                 branch at a time. With FIFO search
  691.                                 turned on, new directories are appended
  692.                                 to the list as they are found. Since
  693.                                 the list is traversed in order, front
  694.                                 to back, with FIFO search turned on the
  695.                                 disk will be searched in a level by
  696.                                 level order. In the example  SF
  697.                                 C:\*.DOC first the root would be
  698.                                 searched, then all subdirectories of
  699.                                 the root, then all subdirectories of
  700.                                 all subdirectories of the root, etc.
  701.  
  702.           -n    NO SUBDIR SEARCH:       this option limits the search
  703.                                         to just the subdirectory
  704.                                         specified. Using this option
  705.                                         makes SF perform as a DIR
  706.                                         substitute.
  707.  
  708.           -y[=]        SEARCH .ARC FILES:    looks inside .ARC files
  709.                                              for the filespec. If =
  710.                                              follows the y parameter,
  711.                                              only ARC files will be
  712.                                              searched (normal files
  713.                                              will be ignored.) See
  714.                                              Appendix C for more
  715.                                              details.
  716.  
  717.           -z[=]        SEARCH .ZIP FILES:    looks inside .ZIP files
  718.                                              for the filespec. If =
  719.                                              follows the z parameter,
  720.                                              only ZIP files will be
  721.                                              searched (normal files
  722.                                              will be ignored.) See
  723.                                              Appendix C for more
  724.                                              details.
  725.  
  726.  
  727.                                                              Page 8
  728.  
  729.  
  730.  
  731.  
  732.  
  733.  
  734.  
  735.  
  736.  
  737.  
  738.  
  739.  
  740.  
  741.  
  742.  
  743.  
  744.  
  745.  
  746.  
  747.  
  748.  
  749.  
  750.  
  751.  
  752.  
  753.  
  754.  
  755.  
  756.  
  757.  
  758.  
  759.  
  760.  
  761.  
  762.  
  763.  
  764.  
  765.  
  766.  
  767.  
  768.  
  769.  
  770.  
  771.  
  772.  
  773.  
  774.  
  775.  
  776.  
  777.  
  778.  
  779.  
  780.  
  781.  
  782.  
  783.  
  784.  
  785.  
  786.  
  787.  
  788.  
  789.  
  790.  
  791.  
  792.  
  793.  
  794.  
  795.  
  796.  
  797.  
  798.  
  799.       Output:
  800.      ───────
  801.  
  802.           -c    COLOR:   output will be in color. To change the default
  803.                          colors, use:
  804.  
  805.                               SF -c[[item:color],[item:color]...]
  806.  
  807.                        where item is the item you want to change and
  808.                        color is the new color you want it displayed in.
  809.                        Multiple entries can be specified, but they must
  810.                        be separated by a comma.
  811.  
  812.                        A list of items:
  813.  
  814.                          #    Item
  815.                          ─    ────
  816.                          1    Heading
  817.                          2    Directory
  818.                          3    Directory name
  819.                          4    Volume Label
  820.                          5    Files
  821.                          6    Directory totals
  822.                          7    Post info - Heading
  823.                          8    Post info - 1
  824.                          9    Post info - 2
  825.                         10    Post info - 3
  826.                         11    Post info - 4
  827.                         12    Post info - 5
  828.                         13    Post info - 6
  829.                         14    Post info - 7
  830.                         15    Post info - 8
  831.                         16    Post info - 9
  832.                         17    Pause message
  833.                         18    Delete message
  834.                         19    Jump message
  835.                         20    Wait message
  836.                         21    Null - used to 'turn off' color
  837.                         22    Error - for error messages
  838.                         23    ARC file
  839.                         24    ARC warning
  840.                         25    Quit message
  841.                         26    ZIP file
  842.                         27    ZIP warning
  843.  
  844.                        SF requires color values to be 0-255, entered in
  845.                        decimal (base 10) format. Hex format is in the
  846.                        works.
  847.  
  848.         -p[n]   PAUSE:   like the DOS dir/p option, n lines (default 23
  849.                          lines) of information will be displayed and SF
  850.                          will pause until a key is pressed. See PAUSING
  851.                          THE DISPLAY for more details.
  852.  
  853.  
  854.  
  855.  
  856.                                                              Page 9
  857.  
  858.  
  859.  
  860.  
  861.  
  862.  
  863.  
  864.  
  865.           -q    QUIET:   only subdirectories with matches in them will
  866.                          be displayed. Helps keep the screen less
  867.                          cluttered.
  868.  
  869.           -$    BIOS OUTPUT:    normally, output is done by writing
  870.                                 directly to the screen memory. Using
  871.                                 the BIOS for writes is slightly slower,
  872.                                 but sometimes necessary, esp. in
  873.                                 multi-tasking environments.
  874.  
  875.           -&    REDIRECTABLE OUTPUT:    if you want to redirect output
  876.                                         with DOS' redirection
  877.                                         facilities (i.e. SF >dirlist)
  878.                                         you must use this flag. DOS
  879.                                         cannot redirect what it cannot
  880.                                         see, and without this flag DOS
  881.                                         is totally bypassed. SF will
  882.                                         run significantly slower with
  883.                                         this option, but such is the
  884.                                         price of using DOS.
  885.  
  886.       Other:
  887.      ──────
  888.  
  889.           -b   BATCH MODE:     while in batch mode, SF is designed to
  890.                                operate without user intervention. Any
  891.                                prompts (with one exception) are
  892.                                automatically answered according to the
  893.                                appropriate miscellaneous setting or, by
  894.                                default, positively. The only exception
  895.                                is the -v option. For now, I decided to
  896.                                leave the -v and -k options alone, due
  897.                                to the extreme potential for hazard. If
  898.                                you with to kill files in 'batch'
  899.                                (unattended) mode, use -k. If you want
  900.                                to be prompted, use -v.
  901.  
  902.           -j   JUMP TO SUBDIRECTORY:    after each match, you will be
  903.                                         presented with the option to
  904.                                         continue searching, jump to the
  905.                                         drive/subdirectory of the file
  906.                                         found, or stop SF immediately.
  907.  
  908.           -k   KILL (DELETE) FILES:  with Kill enabled, all matching
  909.                                      files found will be deleted. Be
  910.                                      warned, you could easily delete
  911.                                      many files in a flash. See -v
  912.                                      (Verify) for a similar option.
  913.  
  914.           -v   VERIFY BEFORE KILLING FILES:       similar to the -k
  915.                                                   option, except you
  916.                                                   will be prompted
  917.                                                   before each file to
  918.                                                   confirm the deletion.
  919.  
  920.  
  921.  
  922.                                                              Page 10
  923.  
  924.  
  925.  
  926.  
  927.  
  928.  
  929.  
  930.  
  931.           -w[n]   WAIT FOR KEYPRESS:    SF will pause after completion
  932.                                         until a key is pressed. If a
  933.                                         number is specified, SF will
  934.                                         wait until that key is pressed.
  935.                                         Ex:  -w32  waits for a space
  936.                                         and then quits (space is ASCII
  937.                                         code 32). Extended keys are
  938.                                         supported (Alt, function keys,
  939.                                         etc.) To determine the wait
  940.                                         code, use this formula:
  941.  
  942.                                              256 * scan + ascii
  943.  
  944.                                      where scan is 0 for a normal key
  945.                                      and 1 for an extended key. Useful
  946.                                      for operating SF with DESQview
  947.                                      (tm). If the number entered is
  948.                                      prefixed with a 0 (i.e. -w032) no
  949.                                      message will be displayed when
  950.                                      waiting for a key
  951.  
  952.           [hrsax]   SET ATTRIBUTES:     this option will actually
  953.                                         change the attributes of
  954.                                         matched files. In addition to
  955.                                         the - and + modifiers, the *
  956.                                         (toggle) modifier can be used.
  957.                                         Be warned, this can do nasty
  958.                                         damage since you could
  959.                                         potentially change the
  960.                                         attributes of every file on you
  961.                                         hard drive. Volume label and
  962.                                         Subdirectory entries are not
  963.                                         affected.
  964.  
  965.           {touch}    TOUCH:   modify the date/time stamp. The format
  966.                               expected is:
  967.  
  968.                                 {[prefix]n}
  969.  
  970.                             where
  971.  
  972.                               prefix is an optional prefix forcing the
  973.                               value to be of that type. Acceptable
  974.                               prefixes are D (Date) and T (Time)
  975.  
  976.                               n is the value (a date or time or
  977.                               special, see below)
  978.  
  979.                             NOTE:    If a date is given, it MUST be
  980.                                      delimited with slashes.
  981.  
  982.                             NOTE:    DOS stores file times as hours
  983.                                      (0-23), minutes (0-59) and seconds
  984.                                      divided by 2 (0-28). SF accepts
  985.                                      normal time (10:5:21) and converts
  986.                                      it to DOS' format. Because of the
  987.                                      way DOS stores the time, 10:5:21
  988.                                      and 10:5:20 are the same.
  989.  
  990.                                                              Page 11
  991.  
  992.  
  993.  
  994.  
  995.  
  996.  
  997.  
  998.                             SPECIAL: @  If a '@' is given as a value,
  999.                                         SF will use the current date
  1000.                                         and/or time to touch files. The
  1001.                                         prefixes can be used with the
  1002.                                         @, so
  1003.  
  1004.                                              {d@}      only touch date
  1005.                                              {t@}      only touch time
  1006.                                              {@}       touch date AND
  1007.                                                        time
  1008.  
  1009.                               All files will be touched with the same
  1010.                               values during the same execution. So if
  1011.                               you use {@} on you entire disk (why you
  1012.                               would do such a thing is beyond me, but
  1013.                               it illustrates the point), all files will
  1014.                               have the same date and time stamps, even
  1015.                               though SF may have spent several minutes
  1016.                               running.
  1017.  
  1018.       Special
  1019.      ──────
  1020.  
  1021.           -g    SAVE DEFAULT OPTIONS:   the default options can be
  1022.                                         permanently changed. The
  1023.                                         defaults are stored in the .EXE
  1024.                                         file and are modified with this
  1025.                                         option. Optional suffixes:
  1026.  
  1027.                                           -  Off (don't save options)
  1028.                                           +  On (same as -g)
  1029.                                           *  Reset defaults
  1030.  
  1031.                                         Needless to say, the -g option
  1032.                                         cannot be set on as a default
  1033.  
  1034.                                  NOTE:  -g* does NOT toggle save
  1035.                                         defaults. This is an exception
  1036.                                         to the modifier *
  1037.  
  1038.           -@n[:v]:   MISCELLANEOUS PARAMETERS:    Due to the limited
  1039.                                                   keys available, the
  1040.                                                   -@ parameter was
  1041.                                                   created to handle
  1042.                                                   numerous small
  1043.                                                   options. See Appendix
  1044.                                                   A for the current @
  1045.                                                   parameter settings
  1046.  
  1047.           -?    HELP:   oh come on, it's kind of obvious, isn't it?
  1048.  
  1049.           -??   EXTENDED HELP:   more help
  1050.  
  1051.  
  1052.  
  1053.  
  1054.                                                              Page 12
  1055.  
  1056.  
  1057.  
  1058.  
  1059.  
  1060.  
  1061.  
  1062.  
  1063.  
  1064.                           PAUSING THE DISPLAY
  1065.  
  1066.      Before each subdirectory is searched, and after each line
  1067.      displayed is output, these keys are looked for:
  1068.  
  1069.                 ESC - immediately quit SF
  1070.           any other key - pause the display, wait for a key
  1071.  
  1072.      When paused, the message 
  1073.     
  1074.           "Program paused; press any key to continue... "
  1075.  
  1076.      is displayed. Action taken is based on the key pressed:
  1077.  
  1078.                 ESC - immediately quit SF
  1079.               ENTER - display 1 more line, then pause
  1080.                   P - toggles Pause on/off
  1081.           any other key - reset the pause counter and resume program
  1082.  
  1083.  
  1084.  
  1085.                          SF DISPLAY INFORMATION
  1086.  
  1087.      SF will display DIR-like information (name, date, size, etc.) as
  1088.      well as attributes and the disk space allocated to a file. Under
  1089.      DOS, a file is allocated a disk block, regardless whether all of
  1090.      it is used. If you have 100 files, each about 5 bytes long, DOS
  1091.      will still allocate 100 blocks. Not bad, you say. Well, the disk
  1092.      block sizes are 4K for DOS 2.x and 2K for DOS 3.x. Now those puny
  1093.      5 byte files are each taking up 2K or more! So instead of 100
  1094.      files using 500 bytes, they're actually using 200K! The total K
  1095.      allocated is a measure of the disk space allocated to files, while
  1096.      the byte count (as per DIR) is merely a total of the bytes used.
  1097.  
  1098.  
  1099.  
  1100.                              DOS VARIABLES
  1101.  
  1102.      SF uses the following DOS variables:
  1103.  
  1104.           SF=          used to locate SF.EXE. This should contain the
  1105.                        explicit pathname of SF.EXE (i.e. SET
  1106.                        SF=c:\util\sf.exe) Should only be needed under
  1107.                        DOS 2.x and possibly networks. Try running SF
  1108.                        without this variable, and if SF will not run,
  1109.                        try setting it. If problems still persist, let
  1110.                        me know. (See Information/Requirements for
  1111.                        further information).
  1112.  
  1113.  
  1114.  
  1115.  
  1116.  
  1117.  
  1118.  
  1119.  
  1120.                                                              Page 13
  1121.  
  1122.  
  1123.  
  1124.  
  1125.  
  1126.  
  1127.  
  1128.  
  1129.           SFOPT=       used to set options. Options are parsed in the
  1130.                        following order:
  1131.  
  1132.                               defaults (saved in file)
  1133.                               DOS environment variable SFOPT
  1134.                               command line
  1135.  
  1136.                        For example, SET SFOPT=/p50n will force SF to
  1137.                        pause every 50 lines and only display a single
  1138.                        directory, unless overruled at the command line.
  1139.  
  1140.  
  1141.  
  1142.                               REQUIREMENTS
  1143.  
  1144.      SF needs a minimum of 55K of RAM and DOS 3.x, given the following
  1145. provisions:
  1146.  
  1147.           SF can probably run under DOS 2.x, if the SET SF= is used. In
  1148.           earlier versions, I heard some faint rumors about
  1149.           difficulties running under a network, but never could get a
  1150.           solid answer. I'm going to get a bit technical, so if you
  1151.           don't understand what I'm talking about, don't worry. Just
  1152.           skip ahead and if you have any problems let me know.
  1153.  
  1154.              I save the default parameters at the end of the .EXE file,
  1155.              and read them at the start of execution. To find the .EXE
  1156.              file, I use argv[0], which, so I hear, is not available
  1157.              under DOS 2.x. To prevent this problem, I have included
  1158.              the DOS variable SF= which is used before referring to
  1159.              argv. Theoretically, if argv[0] is not available, using
  1160.              the SF= should allow execution. If this 'problem'
  1161.              persists, let me know and I'll see what I can do.
  1162.  
  1163.           SF needs a minimum of 55K of RAM, but... Using DESQview I
  1164.           have determined that 55K is the minimum the program can run
  1165.           with. Depending on the size of the tree being searched, or
  1166.           certain options, SF might require more. Again, I'm going to
  1167.           get technical to explain the problem.
  1168.  
  1169.              SF needs a little over 55K to load into memory. During a
  1170.              search, every directory found is added to a list of
  1171.              directories to scan. If your root directory has 10
  1172.              subdirectories, when SF has finished searching your root
  1173.              directory its list of directories to search will have 11
  1174.              items (root plus 10 subdirs). Each directory in the list
  1175.              uses 82 bytes of RAM. The problem arises if you search a
  1176.              large tree structure. When searching my hard drive with
  1177.              only 53K of RAM available, SF bombs out when trying to add
  1178.              a 29th directory to the list, due to insufficient memory.
  1179.              What this means is if SF exits because of memory
  1180.              shortages, try running SF with some more RAM. I'm
  1181.              currently working on a memory management scheme that will
  1182.              not impair performance.
  1183.  
  1184.  
  1185.  
  1186.                                                              Page 14
  1187.  
  1188.  
  1189.  
  1190.  
  1191.  
  1192.  
  1193.  
  1194.  
  1195.              As of version 3.3, a new memory management scheme has been
  1196.              implemented. After a directory has been searched and is no
  1197.              longer needed, the memory used is de-allocated. This
  1198.              drastically reduces the amount of RAM needed for SF to
  1199.              search an entire drive. Under DESQview with 55K allocated,
  1200.              SF searches the entire disk without a problem.  If the RAM
  1201.              allocated is changed to 54K, the program will not run
  1202.              (Abnormal program termination).
  1203.  
  1204.              The only other time SF needs more memory is during a
  1205.              search inside .ARC and .ZIP files. Because SF has to look
  1206.              inside the files, the open and search functions may
  1207.              require a little bit of memory for buffering, etc. Unlike
  1208.              the memory problem with directories, this memory is
  1209.              allocated when opeing a file and returned to DOS after
  1210.              closing the file. Since only one file is open at a time,
  1211.              the overhead is negligible. I'm not sure exactly how much
  1212.              memory is used, but it's measured in bytes, not Kbytes.
  1213.  
  1214.  
  1215.  
  1216.                           OPTIMAL PERFORMANCE
  1217.  
  1218.      SF uses 2 separate search routines, depending on certain options.
  1219.      I found that one generic search function was too slow for most
  1220.      uses, so I 'cheated'. If you just do searching (no modifying files
  1221.      or funky options like jumping or deleting) a slightly faster
  1222.      search routine is used. The following options MUST be off for the
  1223.      optimized search routine to be used:
  1224.  
  1225.              -e  Exact
  1226.              -m  Match
  1227.              -j  Jump to subdir
  1228.              -k  Kill/delete
  1229.              -v  Kill/delete with verify
  1230.              -y  Search inside .ARC files
  1231.              -z  Search inside .ZIP files
  1232.              -1  Stop after 1st match
  1233.              []  Modify attributes
  1234.              {}  Touch
  1235.  
  1236.  
  1237.  
  1238.                               INFORMATION
  1239.  
  1240.      SF was compiled with the interactive version of Turbo C 2.0 in the
  1241.      SMALL memory model, optimized on SPEED, with all optimizations and
  1242.      MERGE DUPLICATE STRINGS turned on. Many of the routines were
  1243.      linked in from TCHK, a Turbo C library for TC 2.0 I have released
  1244.      as shareware. I have tested SF on my system rather thoroughly,
  1245.      although this does not guarantee you won't have problems. If you
  1246.      have difficulties, feel free to contact me. 
  1247.  
  1248.  
  1249.  
  1250.  
  1251.  
  1252.                                                              Page 15
  1253.  
  1254.  
  1255.  
  1256.  
  1257.  
  1258.  
  1259.  
  1260.  
  1261.      My system:
  1262.  
  1263.           - IBM PC
  1264.           - DOS 3.2
  1265.           - 640K RAM
  1266.           - 2 Seagate ST225 20MB hard drives
  1267.           - NEC V20 cpu
  1268.           -  PC Sprint (dandy little speed up plug in. No slot,
  1269.              hardware switch for normal (4.77) and fast (~7) MHz speeds
  1270.              and reboot. Between the board and the NEC my machine plods
  1271.              along almost 2x as fast as a normal PC. At only $95, I
  1272.              highly recommend it. Call these guys for more info:
  1273.  
  1274.                  Product: PC Sprint and/or NEC V20
  1275.                  Exec-PC, Inc.
  1276.                  PO BOX 11268
  1277.                  Shorewood, WI  53211
  1278.                  VOICE: (414) 963-2880
  1279.                  MODEM: (414) 964-5160
  1280.  
  1281.  
  1282.  
  1283.                            UPDATES / RELEASES
  1284.  
  1285.      Version 1.0 - 4/29/88
  1286.           - Initial release
  1287.  
  1288.      Version 2.0 - 5/18/88
  1289.           - changed: old -t now covered by -u
  1290.           - new: -t option, elapsed time
  1291.           - new: -b option, break/keyboard pausing (for speed)
  1292.           - new: # subdirectories searched displayed at end
  1293.           - new: -1 option (stop after 1st match)
  1294.           - changed: text output cleaned up (1 File, 20 Files)
  1295.           - new: -c option, ANSI color
  1296.           - new: -i option
  1297.           - new: -! option
  1298.           - new: (min-max) filesize option
  1299.           - new: -q option, quiet
  1300.           - new: -k option, kill (delete) files found
  1301.           - new: -v option, verify before kill (delete) files found
  1302.           - new: -j option, jump to subdirectory
  1303.           -  new: -w[0n] option, if leading zero, suppress 'waiting for
  1304.              key' message
  1305.           - new: [rhsax] option, set attributes (off/on/toggle) (-+*)
  1306.  
  1307.      Version 2.1 - 5/26/88
  1308.           - new: -g option, make permanent defaults (-+*)
  1309.           -  changed: previously kill file would automatically turn off
  1310.              the Read-Only attribute if necessary to delete. Not the
  1311.              safest of practices, it now will give error msg and not
  1312.              delete
  1313.           - new: added ERROR color for error messages
  1314.           -  changed: any prompts (Jump, Delete, etc.) now clear the 
  1315.  
  1316.  
  1317.  
  1318.                                                              Page 16
  1319.  
  1320.  
  1321.  
  1322.  
  1323.  
  1324.  
  1325.  
  1326.  
  1327.              typeahead buffer first
  1328.           - new: -?? extended help option
  1329.           -  fixed: unnecessary returns were being output for files
  1330.              that didn't match, changed method of output/displaying
  1331.           - fixed: wouldn't display .. entry in some cases (SF *.)
  1332.  
  1333.      Version 2.2 - 6/9/88
  1334.           -  new: touch date/time stamp {touch}
  1335.           -  new: (min-max) now handles file date and time also
  1336.           -  fixed: the b- option wouldn't always work, due to change
  1337.              in code for 2.1
  1338.           -  fixed: added checking for no more available memory during
  1339.              search of large branches (SF uses dynamic memory
  1340.              allocation to keep track of its search tree)
  1341.           - changed: added ESC (quit) option during extended help pause
  1342.           -  fixed: occasionally the cursor would change to a full
  1343.              block with the cursor control option (-!). I fixed the
  1344.              hide cursor routine
  1345.           -  changed: I used the Merge Duplicate Strings Option in
  1346.              Turbo C to reduce the .EXE size by a few K
  1347.           -  changed: most output has been speeded up
  1348.           -  fixed: if the -w option was used with the message "Press
  1349.              key # to end", the key code was wrong
  1350.           -  changed: during "Save Options (Y/N)", ESC will be accepted
  1351.              as No
  1352.           -  changed: only - is a valid min/max separator
  1353.           -  fixed: If a filespec ended with a 1 letter filename (i.e.
  1354.              C:\COMM\Z where Z is a filename) SF would think it was
  1355.              part of the path and not find any matches. The code to
  1356.              check directories had a bug in it which is now corrected.
  1357.           -  fixed: in the output, the file date was missing 80 years
  1358.              (i.e. a file with the date 4-1-88 was being displayed as
  1359.              04-01-08). All DOS dates are stored as the year since 1980
  1360.              and I forgot to add the 80 years back on. Now fixed
  1361.           -  "fixed": extended help erroneously said "file size, date
  1362.              and/or time" because date and time were not supported
  1363.              until now. I "fixed" this by supporting date and time
  1364.           -  changed: earlier versions would modify files (i.e.
  1365.              attributes) before displaying them. If you wanted to
  1366.              change all found files to Hidden, when a matching file was
  1367.              found it would be changed to Hidden, and then it would be
  1368.              output. Now I display the file as it was before SF gets
  1369.              its hands on it.
  1370.  
  1371.      Version 2.21 - 8/6/88
  1372.           -  fixed: when calling SF from the root directory, to operate
  1373.              on the root directory, no files would be found unless you
  1374.              explicitly gave it the path (i.e. \s*.*   c:\  c:\*.bak  
  1375.              etc.) Works properly now (I didn't notice this because I
  1376.              hardly ever use it in the root directory)
  1377.           -  changed: if you try to delete a Read-Only file, you can
  1378.              now try to change the attribute before deleting it
  1379.  
  1380.  
  1381.  
  1382.  
  1383.  
  1384.                                                              Page 17
  1385.  
  1386.  
  1387.  
  1388.  
  1389.  
  1390.  
  1391.  
  1392.  
  1393.      Version 2.3 - 10/24/88
  1394.           -  changed: compiled under Turbo C 2.0
  1395.           -  fixed: touch feature works (current year, not year+60).
  1396.              Forgot filestamp and DOS date years are not stored the
  1397.              same (year-1980 and year, respectively)
  1398.           -  changed: all output now uses console i/o unless explicitly
  1399.              told to use redirectable output (-&). Using console i/o
  1400.              increases SF speed immensely (i/o was the major
  1401.              bottleneck)
  1402.           -  new: output via BIOS (-*) if using console i/o
  1403.           -  new: SET SF=pathname to find SF.EXE
  1404.           -  new: SET SFOPT=options
  1405.           -  new: displays logical size (allocated disk space) as well
  1406.              as physical size (bytes)
  1407.           -  changed: the command line may have options before and/or
  1408.              after a filespec (SF [options] [filespec] [options])
  1409.           -  changed: internal coding has been rearranged. Benefits
  1410.              include easier processing of the command line, faster
  1411.              throughput, color/redirectable output, and easier to
  1412.              upgrade to handle multiple filespecs
  1413.           -  fixed: bug in -T option (would automatically turn pause
  1414.              mode on)
  1415.           -  fixed(?): bug(?) in earlier versions - would not delete
  1416.           -  fixed: pause after n lines (p[n] pause after n lines) now
  1417.              works properly (accomplished as a byproduct of console i/o
  1418.              / redirectable output). Problem: n must be greater than 3
  1419.              or else unpredicable results may occur (not a bug, just
  1420.              imperfect)
  1421.           -  fixed: bug in earlier versions - {@} would not accept
  1422.              modifiers ({d@} and {t@} would not work)
  1423.  
  1424.      Version 3.01 - 10/26/88
  1425.           -  new: any option followed by a * is toggled (except the
  1426.              Save defaults option. If Save defaults is followed by a *,
  1427.              they are reset.) To accomodate this, the BIOS option
  1428.              (previously *) has been changed to a dollar sign ($). The
  1429.              following options do NOT yet support the * modifier:
  1430.                  k(ill)
  1431.                  p(ause)
  1432.                  t(ime elaped)
  1433.                  v(erify deletes)
  1434.                  w(ait for key)
  1435.           -  changed: the documentation has been updated. In 2.3,
  1436.              several references were made to a version 3.0, which does
  1437.              not exist. Originally intended to be released as 3.0,
  1438.              there were not enough substantive changes to warrant an
  1439.              increase by a whole version number, so I titled it 2.3.
  1440.              Sorry if this caused you any confusion.
  1441.  
  1442.      Version 3.10 - 12/27/88
  1443.           -  new: -y and -z options search inside .ARC files (-y also
  1444.              searches inside .ARCS, -z only searches inside .ARCs)
  1445.           -  new: -# option confirms execution if the filespec *.* is
  1446.              being used. 
  1447.  
  1448.  
  1449.  
  1450.                                                              Page 18
  1451.  
  1452.  
  1453.  
  1454.  
  1455.  
  1456.  
  1457.  
  1458.  
  1459.           -  new: the option -# will now warn the user if the filespec
  1460.              *.* is about to be used. After accidentally deleting part
  1461.              of a hard drive, this option was requested. Sorry Marc. As
  1462.              the documentation clearly warns, using the /k option can
  1463.              potentially WIPE YOUR ENTIRE HARD DRIVE!
  1464.           -  new: SF is now more DESQview aware. During keyboard waits,
  1465.              SF will now free its time slice
  1466.           -  changed: the extended help information (-??) once again
  1467.              displays the current color settings, in true color if the
  1468.              redirectable option (-&) is not hard coded. In addition,
  1469.              the Compuserve id is no longer listed (sorry, but CIS
  1470.              costs a fortune, well beyond a poor college student's
  1471.              meager means)
  1472.           -  fixed: touch {} and set attributes [] no longer modify
  1473.              directories or labels. It can be done, but I'm not quite
  1474.              sure how yet. Look for this in a future release
  1475.           -  fixed: Jump now allows you to jump to the directory
  1476.              containing a match, regardless of what type of file it is
  1477.              (older versions wouldn't jump if a subdirectory or label
  1478.              was found)
  1479.           -  changed/fixed: all options now support the toggle suffix
  1480.              (*). In version 3.01, the cpkvw options did not allow the
  1481.              * suffix
  1482.           -  changed: tweaking of code for speed and .ARC file handling
  1483.           -  fixed: in the middle of a scan, esp. in color mode,
  1484.              hitting ESC would cause SF to end, but leave the color set
  1485.              to blank on black, without a cursor, until a CLS was done.
  1486.              A typo in the code was referencing one too many elements
  1487.              of an array, and the next byte just happened to be zero
  1488.              (the attribute of black on black).
  1489.           -  fixed: the Error color was accidentally not defined, so a
  1490.              random byte was being used instead. This was especially
  1491.              noticeable in Kill Read-Only files
  1492.           -  fixed: a command line of SF /k/b was giving an error due
  1493.              to the extra slash in the middle. In scanning an option
  1494.              string, any extraneous slashes are ignored
  1495.  
  1496.      Version 3.20 - 2/26/89
  1497.           -  new: support for ZIP files (-z now searches ZIP files, no
  1498.              longer ARC files) To support ZIP as well as ARC, I have
  1499.              had to temporarily remove the search only ARCs option.
  1500.              Look for more variety with these options in future version
  1501.           -  new: limited support for PAK compression "Crushed" files
  1502.              (type 10). PAK files, as long as their header structure
  1503.              remains the same as .ARC's, and the extension is .ARC,
  1504.              will be handled the same as .ARC files. Adding support for
  1505.              the .PAK extension will decrease performance, and with
  1506.              Phil Katz's new ZIP format, I doubt PAK will be an
  1507.              important force. Besides, I don't use PAK
  1508.           -  new: during Pause prompt, hitting P will toggle pause
  1509.              on/off
  1510.           -  new: @n parameter for miscellaneous trivial options.
  1511.              supports all setting modifiers (+-*). See Appendix A for
  1512.              more details.
  1513.  
  1514.  
  1515.  
  1516.                                                              Page 19
  1517.  
  1518.  
  1519.  
  1520.  
  1521.  
  1522.  
  1523.  
  1524.  
  1525.           -  changed: redirection turns off color. With redirection
  1526.              there is no color output, but variables were still being
  1527.              set. Should be faster
  1528.           -  changed: minor tweaking of code, improve speed and
  1529.              cleanliness
  1530.           -  changed: warns unexpected End-of-Archive mark only if flag
  1531.              is set on (-@1). See Appendix A for more details
  1532.           -  fixed: still getting problem with color not being reset
  1533.              upon abort by ESC during list, but I think I finally
  1534.              squashed this bug
  1535.           -  changed: cleaned up output/display a little. After D to
  1536.              Delete, Jump, etc. messages, internally counts 1 line but
  1537.              does 2 CR/LF
  1538.           -  changed: exit code 32 now displays the string
  1539.              "Insufficient memory"
  1540.           -  fixed (finally): /k/b used to skip the letter after the
  1541.              '/' inside the parameter list (the 'b'). I accidentally
  1542.              incremented a counter and forgot to decrement it
  1543.           -  new: exit codes 70, 71 and 72. See Appendix B for more
  1544.              details
  1545.           -  changed: previous versions of Subtree Find used Turbo C's
  1546.              floating point emulation to do 2 calcualtions. Linking in
  1547.              their math library added 16K+ to the .EXE file and more to
  1548.              RAM requirements. I wrote my own math emulation routines
  1549.              (I only needed accuracy to 4 decimal places) and saved
  1550.              substantial amounts of RAM. See Information/Requirements
  1551.              for more details)
  1552.           -  fixed: if time rolls over midnight during execution, the
  1553.              elpased time is now correct
  1554.           -  new: SF286.EXE, a specially compiled version for 286/386
  1555.              machines, distributed with Subtree Find
  1556.  
  1557.      Version 3.21 - 3/2/89
  1558.           -  fixed: the /z and /y options would always display the
  1559.              ARC/ZIP file being searched, whether or not the ARC/ZIP
  1560.              matched the filespec or contained any files matching the
  1561.              filespec
  1562.           -  changed/fixed: if Jump (-j) and Stop after 1st match (-1)
  1563.              were used together, SF would prompt the user about jumping
  1564.              first (the -j option), and then stop because a match was
  1565.              found (the -1 option). Now the -1 option is checked before
  1566.              the -j option
  1567.           -  changed/fixed: if [r] and {anything} were used in the same
  1568.              run, first the file is made Read-Only, then the touch
  1569.              fails because Read-Only files can't be modified. Now any
  1570.              touch is made, followed by modifying attributes
  1571.           -  fixed: a couple of the color outputs while inside .ZIP
  1572.              files had typos, referencing the wrong color
  1573.           -  fixed: minor modifications to color outputs for cleaner
  1574.              display (I think)
  1575.           -  changed/fixed: some of the miscellaneous files distributed
  1576.              with SF 3.20 had typos which are now corrected. SF.DOC is
  1577.              unchanged since 3.20, but most of the other files have
  1578.              been modified
  1579.  
  1580.  
  1581.  
  1582.                                                              Page 20
  1583.  
  1584.  
  1585.  
  1586.  
  1587.  
  1588.  
  1589.  
  1590.  
  1591.           -  changed: the SFOPT= environment setting requires options
  1592.              be specified as if they were on the command line. Where
  1593.              you could say SFOPT=c in earlier versions you must now say
  1594.              SFOPT=/c
  1595.  
  1596.      Version 3.3 - 3/30/89
  1597.           -  new: /z= and /y= restrict searching to inside ZIP/ARC
  1598.              files only, respectively
  1599.           -  changed: the file handling functions used to access ARC
  1600.              and ZIP files and to save the configuration have been
  1601.              changed to lower-level functions for two reasons: they
  1602.              require less memory and SF is now network compatible
  1603.           -  new: files inside ARC/ZIP must match all search parameters
  1604.              (name, attrib, size, date, time) with one exception:
  1605.              attributes. Attributes are not supported in ARC versions
  1606.              prior to 6.x, and I do not fully understand where they are
  1607.              stored in ZIP files. On the "to do" list. You can force SF
  1608.              to match files inside ARCs/ZIPs by filename only via the
  1609.              -@5 and -@6 parameters
  1610.           -  new: automatic detection of redirection (sf ... >...)
  1611.              turns on redirected output (-&). Added -@3 parameter to
  1612.              control auto redirection
  1613.           -  new: batch mode (-b). The keyboard break parameter
  1614.              (previously -b) is now -@7
  1615.           -  new: automatic batch if redirection detected (-@4)
  1616.           -  changed: keyboard break (-b) now -@7
  1617.           -  changed: cursor control (-!) now -@8
  1618.           -  changed: verify *.* (-#) now -@9
  1619.           -  new: post info also has ARC and ZIP summaries (totals and
  1620.              used space). Optional via -@10, -@11, -@12 and -@13
  1621.           -  new: in batch mode, -@14 will remove ReadOnly attribute if
  1622.              necessary during kill (-@14- will not kill any ReadOnly
  1623.              files during kill in batch mode)
  1624.           -  new: -@15 sets DOS BREAK setting ON during run, then
  1625.              resets BREAK to original setting before SF started. I had
  1626.              a request to add in some Ctrl-Break support. This is not a
  1627.              full featured break routine, it just allows a cheap and
  1628.              dirty method to enable Ctrl-Break. If you have problems
  1629.              with this, let me know and I'll look further into putting
  1630.              in my own Ctrl-Break handler <ick>. Right now it's simply
  1631.              not worth the effort.
  1632.           -  fixed: cleaned up output display, especially color
  1633.           -  fixed: if two sets of parenthesis next to each other, SF
  1634.              would not properly parse it ( i.e. SF (10k)(3/30/89) )
  1635.           -  changed: file time and date fields in ZIP files were
  1636.              incorrectly processed as a signed int, rather than
  1637.              unsigned int, potentially inaccurately displayed
  1638.           -  changed: warning messages "Not a .ZIP file" changed to
  1639.              ".ZIP file corrupted" if the ZIP file is valid (signature
  1640.              ok)
  1641.           -  fixed: previously, any file not matching attributes was
  1642.              skipped, even ARC/ZIP files (so they were not processed if
  1643.              /zy was given)
  1644.           -  fixed: wait before exit (-w) used to come before the 
  1645.  
  1646.  
  1647.  
  1648.                                                              Page 21
  1649.  
  1650.  
  1651.  
  1652.  
  1653.  
  1654.  
  1655.  
  1656.  
  1657.              Quitting with Errorlevel message, negating its
  1658.              effectiveness under DESQview. Now the -w option is the
  1659.              last input/output done by SF. Errorlevel 6 is no longer
  1660.              used
  1661.           -  new: the default filename.ext is displayed in extended
  1662.              help (SF -??)
  1663.           -  new: errorlevels 73 and 74 added (batch mode
  1664.              incompatibilities and searching the directory \..)
  1665.           -  fixed: \. is now properly interpreted as \
  1666.           -  fixed: \.. does not exist, and causes DIR to give an error
  1667.              message. SF will exit with errorlevel 74 if this invalid
  1668.              path is specified
  1669.           -  changed: a 286 specific version is no longer distributed.
  1670.              It's a great inconvenience to generate a 286 specific
  1671.              version, and nobody seems to care. It's now by request
  1672.              only
  1673.  
  1674.  
  1675.  
  1676.                             FUTURE RELEASES
  1677.  
  1678.      I've got some features I'll be adding in the immediate future, and
  1679.      some that are no more than twinklings of ideas. They're listed in
  1680.      roughly the order I plan to implement them in.
  1681.  
  1682.           -  ARC/ZIP attribute match: add comparison of attributes of
  1683.              files inside ARC/ZIP. The complexity of the ARC 6.x format
  1684.              and my lack of time to puzzle out how ZIP stores
  1685.              attributes is holding me back
  1686.  
  1687.           -  Redirected input: add support for redirected input
  1688.              (SF <filename.ext does not currently work)
  1689.  
  1690.           -  ARC 6.x: add support for ARC 6.x extra information. The
  1691.              only problem is there is very little information about it,
  1692.              and what I can find is not simple. Time time time...
  1693.  
  1694.           -  ARC/ZIP comments: add support for displaying comments in
  1695.              ARC and ZIP files
  1696.  
  1697.           -  Output: I'd like to have optional forms of output (i.e.
  1698.              only filenames, no attributes, etc.) but how to do this
  1699.              without sacrificing speed is a problem. If I were to muck
  1700.              around with that routine, the performance would most
  1701.              likely suffer. I'll have to see what can be done
  1702.  
  1703.              Multiple filespecs: SF could search multiple branches
  1704.              during a single run
  1705.  
  1706.              Exclude: SF could search all filespecs EXCEPT those that
  1707.              are explicitly excluded (i.e. search for all files
  1708.              matching C:\TURBOC\S*.* and exclude those files matching
  1709.              *.OBJ)
  1710.  
  1711.  
  1712.  
  1713.  
  1714.                                                              Page 22
  1715.  
  1716.  
  1717.  
  1718.  
  1719.  
  1720.  
  1721.  
  1722.  
  1723.                             ABOUT THE AUTHOR
  1724.  
  1725.      I am a senior at Rensselaer Polytechnic Institute majoring in
  1726.      Computer Science. Since I don't graduate until May '89, my main
  1727.      source of income is my savings account. If you are in the Long
  1728.      Island, New York City, and/or Troy/Albany area, I do micro
  1729.      consulting and custom program design. If you're interested, I can
  1730.      be reached at the addresses below. Of course, I am open to all job
  1731.      offers.
  1732.  
  1733.  
  1734.  
  1735.                              OTHER PRODUCTS
  1736.  
  1737.      Here's a list of some other shareware products I have written:
  1738.  
  1739.      COOKIE 1.2  -   Fortune cookie, gives you a random fortune from a
  1740.                     cookie file. Lots of options and distributed with
  1741.                     2800 cookies of mixed content (rated G - X)
  1742.  
  1743.      DCOUNT 1.2  -  Document/Text file info, find out all kinds of
  1744.                     information like # words, lines, pages, control
  1745.                     characters, etc. Many options.
  1746.  
  1747.      FREE 1.61   -  Free disk space, with options, including network
  1748.                     compatibility and search multiple drives.
  1749.                     Distributed with full Turbo C source.
  1750.  
  1751.      TCHK 2.00   -  a Turbo C library for Turbo C 2.0 sporting over 200
  1752.                     functions. Featuring date, time and string
  1753.                     manipulations, keyboard and video routines,hardware
  1754.                     and software identification, ANSI, printer,
  1755.                     multitasking, math, financial, DOS, and menu
  1756.                     functions, and much more. Source code is available.
  1757.                     Many of the functions in Subtree Find are linked
  1758.                     from TCHK 2.1b, the beta version of the next
  1759.                     release.
  1760.  
  1761.  
  1762.  
  1763.                                 SUPPORT
  1764.  
  1765.      Thanks to the graciousness of the sysop at The BOSS, I now have
  1766.      easier access to his BBS. The latest versions of my software can
  1767.      be found there.
  1768.  
  1769.      If there are some features you would like to see implemented, or
  1770.      you have any questions or comments, please contact me. I can be
  1771.      reached at the following:
  1772.  
  1773.  
  1774.  
  1775.  
  1776.  
  1777.  
  1778.  
  1779.  
  1780.                                                              Page 23
  1781.  
  1782.  
  1783.  
  1784.  
  1785.  
  1786.  
  1787.  
  1788.  
  1789.           HOME                          COLLEGE
  1790.           ────                          ───────
  1791.         Howard Kapustein              Howard Kapustein
  1792.         1695 Barbara Lane             404 Davison Hall
  1793.         East Meadow, NY 11554         Rensselaer Polytechnic Institute
  1794.         Phone: (516) 481-9612         Troy, NY 12180
  1795.                                       Phone: (518) 276-7381
  1796.  
  1797.      or at the following electronic services/bulletin boards:
  1798.  
  1799.           The Boss dBBS       (201) 568-7293   *** Support BBS ***
  1800.           Software Society    (201) 729-7410   Distribution BBS
  1801.           Computer Connection (202) 547-2008   Distribution BBS
  1802.           GEnie               Howard S. Kapustein
  1803.  
  1804.  
  1805.      These are the places I can be reached by modem. SF (and all other
  1806.      software I release) is supported through The BOSS.
  1807.  
  1808.      If you try to get in touch with me during the school year (roughly
  1809.      Sep 1 - May 10, not counting winter break) PLEASE try to reach me
  1810.      at college. If you call my home odds are you won't get much
  1811.      information. My parents aren't exactly what you would call
  1812.      computer people.
  1813.  
  1814.  
  1815.  
  1816.  
  1817.  
  1818.  
  1819.  
  1820.  
  1821.  
  1822.  
  1823.  
  1824.  
  1825.  
  1826.  
  1827.  
  1828.  
  1829.  
  1830.  
  1831.  
  1832.  
  1833.  
  1834.  
  1835.  
  1836.  
  1837.  
  1838.  
  1839.  
  1840.  
  1841.  
  1842.  
  1843.  
  1844.  
  1845.  
  1846.                                                              Page 24
  1847.  
  1848.  
  1849.  
  1850.  
  1851.  
  1852.  
  1853.  
  1854.  
  1855.                   APPENDIX A - MISCELLANEOUS PARAMETER
  1856.  
  1857.      The Miscellaneous parameter (-@) has the following options:
  1858.  
  1859.           -@1    Warn of End-Of-Archive Mark: during a search inside an
  1860.                  .ARC file, the data is terminated with a Ctrl-Z (Ascii
  1861.                  character number 26). In pre-3.20 versions, if this
  1862.                  EOA mark was found before the actual End-of-File, a
  1863.                  warning message was displayed. This commonly occurs
  1864.                  when using non-batch protocols to transfer files,
  1865.                  since non-batch protocols (Xmodem, Xmodem-1K, etc.)
  1866.                  have a fixed size for their packets, and they pad the
  1867.                  end of a file with nulls (Ascii char 0) to fill out
  1868.                  the packet. These extra characters are not harmful,
  1869.                  but earlier versions considered it important enough to
  1870.                  warrant a message. I've looked into this further and
  1871.                  it seems PKPAK, PKUNPAK, ARC and other .ARC file
  1872.                  handlers stop processing when they hit the EOA mark.
  1873.                  So the warning message is now optional. Usually there
  1874.                  is no need to have this option on
  1875.  
  1876.           -@2    Display Error level: when quitting SF, if this option
  1877.                  is on the message "Quitting with Error level = #" will
  1878.                  be displayed, showing the error level SF quits with.
  1879.                  The errorlevel can be detected with batch files
  1880.  
  1881.           -@3    Autodetect DOS redirection: if output is redirected by
  1882.                  DOS (i.e. SF >dumpfile) SF will internally set options
  1883.                  according to the following command: /&p-@7-@8-    and,
  1884.                  if -@4 is on (auto batch if output redirected)  /b
  1885.  
  1886.           -@4    Auto batch: if output is redirected by DOS and
  1887.                  detected by SF, batch mode is turned on (/b)
  1888.  
  1889.           -@5    Ignore match criteria in .ARC: files inside .ARCs are
  1890.                  only matched by filename (size, date and time are
  1891.                  ignored)
  1892.  
  1893.           -@6    Ignore match criteria in .ZIP: files inside .ZIPs are
  1894.                  only matched by filename (size, date and time are
  1895.                  ignored)
  1896.  
  1897.           -@7    Keyboard interruption: during execution the keyboard
  1898.                  will be checked after every line displayed on the
  1899.                  screen and when between subdirectories. See Pausing
  1900.                  The Display for more details
  1901.  
  1902.           -@8    Hide cursor: SF will turn off the cursor during
  1903.                  execution and when done, restore the cursor to its
  1904.                  previous shape
  1905.  
  1906.           -@9    Verify *.* runs: if the search spec for filename is
  1907.                  *.* a warning message will ask you to confirm the run.
  1908.                  Useful if you are forgetful and use the -k option
  1909.  
  1910.  
  1911.  
  1912.                                                              Page 25
  1913.  
  1914.  
  1915.  
  1916.  
  1917.  
  1918.  
  1919.  
  1920.  
  1921.  
  1922.           -@10   Used space inside .ARC files: if the -u parameter is
  1923.                  on, the summary information will include a total of
  1924.                  the compressed and uncompressed size of files found
  1925.                  inside .ARC files
  1926.  
  1927.           -@11   Used space inside .ZIP files: if the -u parameter is
  1928.                  on, the summary information will include a total of
  1929.                  the compressed and uncompressed size of files found
  1930.                  inside .ZIP files
  1931.  
  1932.           -@12   Always show used .ARC space: if this option is off,
  1933.                  the space used by files inside .ARC files will be
  1934.                  displayed only if it is non-zero. With this option on,
  1935.                  the total sizes used will be displayed, even if there
  1936.                  were no matches inside .ARC files
  1937.  
  1938.           -@13   Always show used .ZIP space: if this option is off,
  1939.                  the space used by files inside .ZIP files will be
  1940.                  displayed only if it is non-zero. With this option on,
  1941.                  the total sizes used will be displayed, even if there
  1942.                  were no matches inside .ZIP files
  1943.  
  1944.           -@14   Remove Read-Only in batch: during batch mode execution
  1945.                  while killing files (-k), if a file is protected by
  1946.                  Read-Only attribute, this option determines whether or
  1947.                  not the Read-Only status should be removed before
  1948.                  trying to delete the file
  1949.  
  1950.           -@15   Set BREAK: if this option is on, the DOS BREAK setting
  1951.                  will be saved, BREAK will be set ON, SF will run, and
  1952.                  when finished, the BREAK setting will be restored
  1953.  
  1954.  
  1955.  
  1956.  
  1957.  
  1958.  
  1959.  
  1960.  
  1961.  
  1962.  
  1963.  
  1964.  
  1965.  
  1966.  
  1967.  
  1968.  
  1969.  
  1970.  
  1971.  
  1972.  
  1973.  
  1974.  
  1975.  
  1976.  
  1977.  
  1978.                                                              Page 26
  1979.  
  1980.  
  1981.  
  1982.  
  1983.  
  1984.  
  1985.  
  1986.  
  1987.                         APPENDIX B - ERROR LEVEL
  1988.  
  1989.      Here's a list of the errorlevel settings SF can exit with:
  1990.  
  1991.            0: Normal end of execution, no errors
  1992.            1: End after 1st match
  1993.            2: Error, Unknown parameter
  1994.            3: Help (-?)
  1995.            4: SF aborted by user via ESC during file list
  1996.            5: SF aborted by user via ESC during pause
  1997.            6: NOT USED
  1998.            7: Error, Missing closing parenthesis
  1999.            8: Error, Missing parameter in parenthesis
  2000.            9: Error, Unknown parameter in parenthesis
  2001.           10: Error, Invalid parameter in parenthesis
  2002.           11: Error, Invalid filesize range specified
  2003.           12: Extended help (-??)
  2004.           13: SF aborted by user via ESC during delete
  2005.           14: Error, Invalid parameters: can't delete subdirectories
  2006.           15: Error, Invalid parameters: can't delete volume labels
  2007.           16: SF aborted by user via ESC during jump
  2008.           17: SF end of execution by Jump (-j)
  2009.           18: Error, Missing closing bracket
  2010.           19: Error, error changing attribs
  2011.           20: Error, Invalid parameter in -c, missing :
  2012.           21: Error, Invalid parameter in -c, missing color
  2013.           22: Error, Invalid paramter in -c, only color settings 1-24
  2014.               may be selected
  2015.           23: Error, Invalid paramter in -c, color values must be 0-255
  2016.           24: Error, can't get handle to SF file to read options
  2017.           25: Error, Error reading options: file possibly damaged
  2018.           26: Error, Can't initialize options
  2019.           27: Error, can't get handle to SF file to write options
  2020.           28: Error, Can't save options
  2021.           29: Error, can't save options
  2022.           30: Error, Options not saved
  2023.           31: Error, can't get access to initialize options
  2024.           32: Error, No more available memory. Disk too big
  2025.           33: SF aborted by user via ESC during extended help pause
  2026.           34: Error, Missing closing brace
  2027.           35: Error, Invalid time format for touch
  2028.           36: Error, Invalid date format for touch
  2029.           37: Error, Invalid time format for touch
  2030.           38: Error, Invalid date format for touch
  2031.           39: Error, Error: braces but no touch paramter
  2032.           40: Error, Invalid time separator in touch
  2033.           41: Error, Invalid date separator in touch
  2034.           42: Error, Invalid touch format, unknown touch date or time
  2035.           43: Error, Invalid date touch parameter. Must be dd/mm/yy
  2036.           44: Error, Invalid time touch parameter. Must be hh:mm:ss
  2037.           45: Error, Invalid touch date (month must be 1-12)
  2038.           46: Error, Invalid touch time (hour must be 0-23)
  2039.           47: Error, Invalid touch time (minutes must be 0-59)
  2040.           48: Error, Invalid touch time (seconds must be 0-59)
  2041.  
  2042.  
  2043.  
  2044.                                                              Page 27
  2045.  
  2046.  
  2047.  
  2048.  
  2049.  
  2050.  
  2051.  
  2052.  
  2053.           49: Error, can't get access to initialize options
  2054.           50: Error, Invalid min date parameter. Must be dd/mm/yy
  2055.           51: Error, Invalid min time parameter. Must be hh:mm:ss
  2056.           52: Error, Invalid min date (month must be 1-12)
  2057.           53: Error, Invalid min time (hour must be 0-23)
  2058.           54: Error, Invalid min time (minutes must be 0-59)
  2059.           55: Error, Invalid min time (seconds must be 0-59)
  2060.           56: Error, Invalid max date parameter. Must be dd/mm/yy
  2061.           57: Error, Invalid max time parameter. Must be hh:mm:ss
  2062.           58: Error, Invalid max date (month must be 1-12)
  2063.           59: Error, Invalid max time (hour must be 0-23)
  2064.           60: Error, Invalid max time (minutes must be 0-59)
  2065.           61: Error, Invalid max time (seconds must be 0-59)
  2066.           62: Error, Invalid filedate range specified
  2067.           63: Error, Invalid filetime range specified
  2068.           64: SF aborted by user via ESC during delete Read-Only file
  2069.               prompt
  2070.           65: Error, Can't find SF.EXE
  2071.           66: Error, SF only supports 1 filespec
  2072.           67: Error, Error: parameter delimiter ('/') missing paramter
  2073.               command
  2074.           68: Error, SF aborted by user during *.* warning prompt
  2075.           69: Error, Invalid parameters: can't delete files from
  2076.               .ARC or .ZIP files
  2077.           70: Error: @ parameter must be followed by a number
  2078.           71: Error, unknown @ parameter
  2079.           72: Error: Insufficient memory. SF aborting.
  2080.           73: Error: Batch mode can NOT be mixed with v or # parameters
  2081.           74: Error: Invalid directory
  2082.  
  2083.  
  2084.  
  2085.  
  2086.  
  2087.  
  2088.  
  2089.  
  2090.  
  2091.  
  2092.  
  2093.  
  2094.  
  2095.  
  2096.  
  2097.  
  2098.  
  2099.  
  2100.  
  2101.  
  2102.  
  2103.  
  2104.  
  2105.  
  2106.  
  2107.  
  2108.  
  2109.  
  2110.                                                              Page 28
  2111.  
  2112.  
  2113.  
  2114.  
  2115.  
  2116.  
  2117.  
  2118.  
  2119.                 APPENDIX C - SEARCHING ARC AND ZIP FILES
  2120.  
  2121.      Subtree Find can search inside ARC and ZIP files. The format used
  2122. to display the contents of ARCs and ZIPs conforms to the formats used
  2123. by ARC and PKPAK/PKUNPAK (.ARC files) and PKZIP/PKUNZIP (.ZIP files).
  2124.  
  2125. The .ARC format is:
  2126.  
  2127.   Filename.ext  compressed_size  method(#)  real_size  date  time  CRC
  2128.  
  2129. where
  2130.  
  2131.    Filename.ext = the file found
  2132. compressed_size = the compressed size of the file, in bytes
  2133.       method(#) = the compression method (and equivalent method number)
  2134.       real_size = the uncompressed size of the file, in bytes
  2135.      date, time = the date/time stamp of the file
  2136.             CRC = the 16-bit CRC for the file (in hexadecimal)
  2137.  
  2138.  
  2139. The .ZIP format is:
  2140.  
  2141.   Filename.ext  real_size  method  compressed_size  date  time  CRC
  2142.  
  2143. where
  2144.  
  2145.    Filename.ext = the file found
  2146.       real_size = the uncompressed size of the file, in bytes
  2147.          method = the compression method
  2148. compressed_size = the compressed size of the file, in bytes
  2149.      date, time = the date/time stamp of the file
  2150.             CRC = the 32-bit CRC for the file (in hexadecimal)
  2151.  
  2152.  
  2153.  
  2154. NOTE:     The Compressed and Uncompressed sizes of files in .ARCs are
  2155.           displayed in reversed order as in .ZIPs. Please keep this in
  2156.           mind when viewing a list of files inside .ARCs and .ZIPs
  2157.  
  2158. NOTE:     Matching files inside ARCs and ZIPs by size works with the
  2159.           Uncompressed size
  2160.  
  2161. NOTE:     The ONLY subclause (/z= or /y=) will force SF to only search
  2162.           insize ARC and/or ZIP files.
  2163.  
  2164.  
  2165.  
  2166.  
  2167.  
  2168.  
  2169.  
  2170.  
  2171.  
  2172.  
  2173.  
  2174.  
  2175.  
  2176.                                                              Page 29
  2177.  
  2178.  
  2179.