home *** CD-ROM | disk | FTP | other *** search
/ Simtel MSDOS 1992 December / simtel1292_SIMTEL_1292_Walnut_Creek.iso / msdos / arc_lbr / sqz1082e.exe / SQZ.ENG < prev    next >
Text File  |  1992-09-11  |  15KB  |  710 lines

  1. Program:    SQZ - Squeeze.
  2. Function:   Combined file compresser and archiver.
  3. Version:    1.08.2
  4. Datum:        1992/09/10
  5. Copyright:  Jonas I Hammarberg
  6. By:        Jonas I Hammarberg
  7. -------------------------------------------------------------------------------
  8.  
  9.  
  10.     Overview..............................  I
  11.  
  12.     Getting started.......................  II
  13.  
  14.     Commands..............................  III
  15.  
  16.     Switches..............................  IV
  17.  
  18.     Future................................  V
  19.  
  20.     BAT files.............................  VI
  21.  
  22.     Register/order/payment................  VII
  23.  
  24.  
  25.  
  26.  
  27.  
  28.  
  29.  
  30.  
  31.  
  32.  
  33.       By the way, I'm sorry to have to say that my english is rather poor,
  34.  
  35.        so please don't be too upset by my misuse of the language that
  36.  
  37.            Shakespeare used with such elegance...
  38.  
  39.  
  40.  
  41.  
  42.  
  43.  
  44.  
  45.  
  46.  
  47.  
  48.  
  49.  
  50.  
  51.  
  52.  
  53.  
  54.  
  55.  
  56.  
  57.  
  58.  
  59.             When is a door not a door?
  60. SQZ - Squeeze : 1.08.2 : Jonas I Hammarberg : Overview          I
  61. -------------------------------------------------------------------------------
  62.  
  63.     Squeeze is a combined file compressor and archiver, like PKZip/LHArc etc.
  64.  
  65.     But why should you use SQZ instead....
  66.  
  67.         * Better compression ratio.
  68.  
  69.         * Supports directories.
  70.  
  71.         * Support of ÅÄÖ and other obscure chars.
  72.  
  73.         * A much smaller archive-file.
  74.  
  75.         * (the chance for a coffe-break during packing) (not as long).
  76.  
  77.         * I, the developer, live in the country of "Honour and Heros".
  78.           (Check out Donald Duck in the Andes (* == egg...)
  79.  
  80.         * Payment in SEK or US$, but preferable SEK.
  81.  
  82.         * Doesn't support MOVE.
  83.  
  84.         * Versions (will be) developed for
  85.  
  86.             + Amiga
  87.             + VAX VMS
  88.             + UNIX / Coherent / *NIX / XENIX
  89.             + MacIntosh
  90.             + MS Windows
  91.             + OS/2 HPSF
  92.  
  93.  
  94.  
  95.  
  96.  
  97.  
  98.  
  99.  
  100.  
  101.  
  102.  
  103.  
  104.  
  105.  
  106.  
  107.  
  108.  
  109.  
  110.  
  111.  
  112.  
  113.  
  114.  
  115.  
  116.  
  117.  
  118.  
  119. SQZ - Squeeze : 1.08.2 : Jonas I Hammarberg : Getting started         II
  120. -------------------------------------------------------------------------------
  121.  
  122.     * To pack a directory and it's subdirectories...
  123.  
  124.     Move up a level, i.e. so that the directory will become subdirectory.
  125.  
  126.     SQZ A directory /SP1 directory\*.*
  127.  
  128.  
  129.     Ex: To pack  \DATA\AUTOGRAF
  130.  
  131.         + CD \DATA
  132.         + SQZ A AUTOGRAF /SP1 AUTOGRAF\*.*
  133.  
  134.  
  135.     To recreate:
  136.  
  137.  
  138.     SQZ X directory directory\
  139.  
  140.  
  141.     Ex: Unpack AUTOGRAF.SQZ
  142.  
  143.         + CD \DATA
  144.         + SQZ X AUTOGRAF AUTOGRAF\
  145.  
  146.  
  147.     * To pack a directory and expand path...
  148.  
  149.     SQZ A archive /SP2 \path\*.*
  150.  
  151.  
  152.     Ex: Pack \DATA\AUTOGRAF
  153.  
  154.         + SQZ A \ARKIV\DATA_AG /SP2 \DATA\AUTOGRAF\*.*
  155.  
  156.  
  157.     To recreate:
  158.  
  159.     SQZ X archive
  160.  
  161.  
  162.     Ex: To unpack \ARKIV\DATA_AG.SQZ
  163.  
  164.         + SQZ X \ARKIV\DATA_AG
  165.  
  166.  
  167.     * To recreate an archive in a subdirectory...
  168.  
  169.     SQZ X archive subdirectory\
  170.  
  171.     Ex: Recreate AUTOGRAF with \DATA\AUTOGRAF\ANNAT as base.
  172.  
  173.         + SQZ X AUTOGRAF \DATA\AUTOGRAF\ANNAT\
  174.  
  175.  
  176.  
  177.  
  178. SQZ - Squeeze : 1.08.2 : Jonas I Hammarberg : Getting started         II.2
  179. -------------------------------------------------------------------------------
  180.  
  181.     * To look inside an archive...
  182.  
  183.     SQZ L archive
  184.  
  185.     Ex:
  186.         + SQZ L AUTOGRAF
  187.         + SQZ L \ARKIV\DATA_AG
  188.  
  189.     * To look for specific files...
  190.  
  191.     SQZ L archive spec1 spec2
  192.  
  193.     Ex:
  194.         + SQZ L AUTOGRAF *.STP *.NLG
  195.         + SQZ L \ARKIV\DATA_AG *.?A?
  196.  
  197.     * Check that the files are ok (just CRC check, sorry)...
  198.  
  199.     SQZ T archive
  200.  
  201.     Ex:
  202.         + SQZ T AUTOGRAF
  203.  
  204.  
  205.  
  206.  
  207.  
  208.  
  209.  
  210.  
  211.  
  212.  
  213.  
  214.  
  215.  
  216.  
  217.  
  218.  
  219.  
  220.  
  221.  
  222.  
  223.  
  224.  
  225.  
  226.  
  227.  
  228.  
  229.  
  230.  
  231.  
  232.  
  233.  
  234.  
  235.  
  236.  
  237. SQZ - Squeeze : 1.08.2 : Jonas I Hammarberg : Commands          III
  238. -------------------------------------------------------------------------------
  239.  
  240.     You can do the following;
  241.  
  242.         * Add files to an archive.
  243.         * Update files in an archive.
  244.         * Remove files from an archive.
  245.         * Create a SFX.
  246.         * List contents of an archive.
  247.         * Test the content of it.
  248.         * Recreate files from an archive.
  249.  
  250.     N.B!    Both '-' and '/' can be used as leading char for switches.
  251.         Are '/' used then must '\' be uses as seperator in path, eg:
  252.         sqz a a /sp1z01 a\*.*
  253.         sqz a a -sp1z01 a/*.*
  254.  
  255.     * Add files to an archive...
  256.  
  257.     SQZ A archive spec
  258.  
  259.     Adds files to given archive. If the files already exist will they
  260.     be overwritten.
  261.  
  262.     * Updates files in an archive...
  263.  
  264.     SQZ U archive spec
  265.  
  266.     Adds files to given archive. If the files already exist will they
  267.     be overwritten if they are have an earlier date.
  268.  
  269.     * Remove files from archive...
  270.  
  271.     SQZ D archive spec
  272.  
  273.     Removes given files from archive.
  274.  
  275.     * Create SFX...
  276.  
  277.     Sometimes it might be useful to send just one file, and not two.
  278.     (they might not own SQZ or have an old version or just don't want
  279.     to give their hard-earned cash to me).
  280.     Solution: Create a SFX (SelF eXtracting archive).
  281.     The result will be an EXE-file. When it's executed it will start
  282.     unpacking itself. Some commands can be used in SFX, but SFXjr
  283.     just knows how to unpack.
  284.     Both SFX and SFXjr can create directories.
  285.  
  286.     * List content of archive...
  287.  
  288.     You can list the contents through L or V.
  289.     L will give a shorter listing, not including path, where V will
  290.     display the whole path.
  291.  
  292.  
  293.  
  294.  
  295.  
  296. SQZ - Squeeze : 1.08.2 : Jonas I Hammarberg : Commands          III.2
  297. -------------------------------------------------------------------------------
  298.  
  299.     * Test the content of archive...
  300.  
  301.     Sometimes it might be a lousy day when you shouldn't have stepped out
  302.     of bed and everything goes wrong, eg. phone lines and floppies.
  303.     Therefore you have the possibility to test for errors in your
  304.     archive, but there's a catch (there's always one...) the CRC-check
  305.     might pass, unlikely, but...
  306.  
  307.  
  308.     * Recreate files from archive...
  309.  
  310.     You can recreate with path or without.
  311.     E ignores stored path information but X will recreate the whole path.
  312.     Both understand base-path, eg. place the files in a another
  313.     directory. Default is current working directory (CWD).
  314.  
  315.     And, at last but not least...
  316.  
  317.     + Display file...
  318.     Prints a file in the archive to standard output.
  319.         - SQZ P archive spec
  320.  
  321.     + Comment archive...
  322.     Gives you the possiblity to add a comment describing the content
  323.     of this specific archive, or just some ads.
  324.     The comment will be displayed when Listing/Extracting(/Help).
  325.  
  326.         - SQZ C archive commentfile     to read from file
  327.  
  328.         - SQZ C archive CON         to read from stdin
  329.  
  330.     + Proctect archive (REAL SOON NOW)
  331.     Close the archive, so that files can't be added/removed.
  332.     You can do it now by creating a SFX.
  333.  
  334.  
  335.  
  336.  
  337.  
  338.  
  339.  
  340.  
  341.  
  342.  
  343.  
  344.  
  345.  
  346.  
  347.  
  348.  
  349.  
  350.  
  351.  
  352.  
  353.  
  354.  
  355. SQZ - Squeeze : 1.08.2 : Jonas I Hammarberg : Switches          IV
  356. -------------------------------------------------------------------------------
  357.  
  358.     The following functions can be controlled through switches;
  359.  
  360.         * Include sub-directory/-directories.
  361.         * How to store path
  362.         * Date selection
  363.         * File attribute during selection
  364.         * Overwrite existing files during unpacking
  365.         * Files to exclude during packing
  366.         * Copy versus squeezing
  367.         * Speed versus squeezing
  368.         * Method for squeezing
  369.         * Others
  370.  
  371.  
  372.     * Include subdirectory
  373.     /s  Include sub-directories during file scanning.
  374.         Directories will be included even if given
  375.         files-specification doesn't give any match.
  376.  
  377.  
  378.     * How to store path
  379.     /p  0 - As given
  380.         DATA\PAS\T.INF    -->    DATA\PAS\T.INF
  381.  
  382.         1 - Skip first directory
  383.         DATA\PAS\T.INF    -->    PAS\T.INF
  384.         Useful if you wish to store a complete
  385.         directory with sub-directories. While the
  386.         base directory wan't be saved will you save some
  387.         bytes ($crooge).
  388.  
  389.         The example would be called DATA.sqz containing
  390.         PAS\T.INF instead of XXXXX.SQZ containing
  391.         DATA\PAS\T.INF.
  392.  
  393.         2 - Expand from root
  394.         DATA\PAS\T.INF    -->    \DIV\DATA\PAS\T.INF
  395.  
  396.         3 - Only name, no path.
  397.         DATA\PAS\T.INF    -->    T.INF
  398.  
  399.     * Date selection
  400.     da  Date after YYMMDDHHMMSS
  401.         From YYMMDDHHMMSS and onwards.
  402.         If not completely specified zeros will be appended.
  403.         920402 --> 920402000000
  404.     db  Date before YYMMDDHHMMSS
  405.         Before given, otherwise as above.
  406.  
  407.  
  408.  
  409.  
  410.  
  411.  
  412.  
  413.  
  414. SQZ - Squeeze : 1.08.2 : Jonas I Hammarberg : Switches          IV.2
  415. -------------------------------------------------------------------------------
  416.  
  417.     * File attributes during selection
  418.     a   Archive flag, will be set by DOS when written to.
  419.         This flag gives you a easy way just to include those files
  420.         that have been changed since last pack/backup.
  421.  
  422.     a1  Include only those with A flag set, ie. changed ones.
  423.     a?  Don't care about its state, include it eitherway.
  424.     a0  Include only those with A flag not set, ie unchanged ones.
  425.     a 1 Force it high after packing.
  426.     a = Leave it unchanged in its previous state.
  427.     a 0 Drop it, so that it will be raised when next updated.
  428.  
  429.     a10 Include files with flag high and drop it afterwards.
  430.     a?0 Ignore when including, but clear it afterwards.
  431.  
  432.  
  433.     * Overwrite when unpacking
  434.     o   Overwrite
  435.         Overwrite files during unpacking.
  436.     o0  Only older files.
  437.     o1  Always overwrite.
  438.     o2  Prompt first.
  439.  
  440.  
  441.     * Files to exclude during packing
  442.     x   Exclude
  443.         Don't include the following file(s).
  444.  
  445.         /xGAMMAL.FIL /x*.BAK
  446.  
  447.         Don't include GAMMAL.FIL, or any file with the extension .BAK
  448.  
  449.         Handles file redirection, ie. @fil
  450.  
  451.  
  452.     * Copy versus squeezing
  453.     c   Copy files with the following extensions.
  454.         Sometimes the result is not worth the time it takes to
  455.         squeeze files that already are compressed.
  456.         eeh... I just wish to state that SQZ will be able to squeeze
  457.         some more bytes from the most archives.
  458.  
  459.         As default the following files will be copied;
  460.         .ARC .ARJ .LZH .PAK .SQZ .ZIP .ZOO
  461.  
  462.         If option used you must include all extensions, ie. it will
  463.         not add to it's existing list, just replace it.
  464.  
  465.         /c.GIF  -> Copy only *.GIF, but squeeze *.ARC etc.
  466.  
  467.         Don't know how to handle file redirection.
  468.  
  469.  
  470.  
  471.  
  472.  
  473. SQZ - Squeeze : 1.08.2 : Jonas I Hammarberg : Switches          IV.3
  474. -------------------------------------------------------------------------------
  475.  
  476.     * Speed versus squeezing
  477.     q   Speed: The higher speed the less compressing will occurr (mostly)
  478.         /q0../q9 och /q∞ (ASCII 236d)
  479.         Default: /q5.
  480.         N.B. /q∞ WILL take it's time...           zzzzzzzzz....
  481.  
  482.  
  483.     * Method for squeezing
  484.     m   0    -   Copy, se /c above
  485.         1    -   Squeezing using metod 1
  486.         2    -   "-              metod 2, often better, but...
  487.         3    -   Even better...
  488.         4    -   Even better yet, mostly...
  489.  
  490.         Default: /m4
  491.  
  492.  
  493.     * Others
  494.     z   0    -   How long time did it take?
  495.         1    -   Only total.
  496.         2    -   Use SFXJR.exe, not SFX.exe
  497.         3    -   Better compression ratio for doc's.
  498.  
  499.         Can be combined: /z0 /z1 /z2 == /z0z1z2 == z012
  500.  
  501.  
  502.  
  503.  
  504.     All switches can be grouped together, depending on their arguments.
  505.  
  506.     Ex: /s /p1 /z0 /z1 /x*.BAK /x*.$$$ -->  /sp1z01x*.BAK /x*.$$$
  507.  
  508.  
  509.  
  510.  
  511.  
  512.  
  513.  
  514.  
  515.  
  516.  
  517.  
  518.  
  519.  
  520.  
  521.  
  522.  
  523.  
  524.  
  525.  
  526.  
  527.  
  528.  
  529.  
  530.  
  531.  
  532. SQZ - Squeeze : 1.08.2 : Jonas I Hammarberg : Future             VII
  533. -------------------------------------------------------------------------------
  534.  
  535.     * More assembly
  536.  
  537.     * Shrink SFX/SFXjr (19 and 16kB are just to MUCH)
  538.  
  539.     * Just don't return to DOS when there's a error.
  540.  
  541.     * Change Huffman encoding for another encoding.
  542.       This other one is a little more effective but needs more gas.
  543.  
  544.     * Support more operating-/file-systems
  545.  
  546.     * For the moment each SQZ only support its native format, so why
  547.       not an extended SQZ that understands all of them.
  548.  
  549.     * Specific method for different types of files.
  550.       Packing voice/noise is different from packing graphics etc.
  551.  
  552.     * Add some form of verification, so that you can have a guarantee of its
  553.       integrity.
  554.  
  555.     * SFX are already locked, but wouldn't it be nice to lock ordinary
  556.       ones to?
  557.  
  558.     * Exploit 286/386/486(/586), not just 8086.
  559.  
  560.  
  561.  
  562.  
  563.  
  564.  
  565.  
  566.  
  567.  
  568.  
  569.  
  570.  
  571.  
  572.  
  573.  
  574.  
  575.  
  576.  
  577.  
  578.  
  579.  
  580.  
  581.  
  582.  
  583.  
  584.  
  585.  
  586.  
  587.  
  588.  
  589.  
  590.  
  591. SQZ - Squeeze : 1.08.2 : Jonas I Hammarberg : BAT files         VIII
  592. -------------------------------------------------------------------------------
  593.     * U.BAT   Save new files, should be run once each day.
  594.           All new files/changed ones in given directory will be saved in
  595.           REV\YYMMDD, including sub-directories.n.
  596.           The archive will be call by the name of the given directory.
  597.  
  598.     Ex.:        If DATE=920508 and you enter U SQZ and are in \DEV\C
  599.             then \DEV\C\REV\920508\SQZ.SQZ will be created.
  600.  
  601.     Needs:        Environment variable DATE must exist. It gives the date
  602.             of the files to include and also in which REV directory
  603.             the archive will be placed.
  604.  
  605.     Result:        If no REV directory exists it will be created.
  606.             If no %DATE% directory exists it will be
  607.             created.
  608.             The archive will be placed in this directory.
  609.  
  610.     + I've written a small program which takes the date and places
  611.       it in the environment variable DATE. Source and exe included.
  612.       N.B! The program uses the method given by ENVEDT from
  613.       "Undocumented DOS"  Schulman et al.
  614.       As some composer said:
  615.  
  616.       «Mediocre composers borrow ...   Great composers steals»
  617.  
  618.     * Q.BAT/QD.BAT
  619.     Will pack a whole directory tree and create an archive with the
  620.     same name.
  621.  
  622.     QD.bat tests the archive before removing the directory.
  623.     A way of supporting MOVE.
  624.  
  625.  
  626.  
  627.  
  628.  
  629.  
  630.  
  631.  
  632.  
  633.  
  634.  
  635.  
  636.  
  637.  
  638.  
  639.  
  640.  
  641.  
  642.  
  643.  
  644.  
  645.  
  646.  
  647.  
  648.  
  649.  
  650. SQZ - Squeeze : 1.08.2 : Jonas I Hammarberg : Register/Order/Payment     IX
  651. -------------------------------------------------------------------------------
  652. Register:    By registering at the address below you will have the right
  653.         to support and one free upgrade. Please state version.
  654.         The registration fee is for the moment 150SEK/30US$.
  655.         Smaller fees will be accepted, but don't entitle you to a free
  656.         upgrade.
  657.  
  658.  
  659. Licence:    A rebate is given when buying five ore more copies.
  660.  
  661.  
  662. Error:        None...
  663.  
  664.  
  665.         Well, but I can't say that there are a lot of them.
  666.         If you run into them please contact me, PPPLLLEEEAAASSSEEE
  667.  
  668.  
  669. Disclaimer:    This software (SQZ, SFX and SFXJR) is provided on an "as is"
  670.         basis without warranty of any kind, expressed or implied,
  671.         including but not limited to the implied warranties of
  672.         merchantability and fitness for a particular purpose.  The
  673.         person using the software bears all risk as to the quality
  674.         and performance of the software.  The author will not be
  675.         liable for any special, incidental, consequential, indirect
  676.         or similar damages due to loss of data or any other reason,
  677.         even if the author or an agent of the author has been advised
  678.         of the possibility of such damages.
  679.  
  680.  
  681. Contact:    I can be reached at home (telecommuter...) and through this
  682.         BBS, which I contact more or less once a week.
  683.  
  684.         Programmers BBS:    (+46)40 188 945
  685.                     HST DS 1200-14400 baud N-8-1
  686.                     FidoNet 2:200/107
  687.                     Lars Ridstrom, SysOp
  688.  
  689.         Jonas I Hammarberg        (+46)46 730 088
  690.         Pl 529. St. Harrie 10:2     pg. 490 68 64-6
  691.         S-244 91 Kaevlinge        bk. 5635-00 213 53
  692.         Sverige/Sweden
  693.  
  694.  
  695.                     rgds Jonas, <HL>
  696.  
  697.  
  698.  
  699.         Eh, by the way, feel free to send me a postcard or EMAIL
  700.         just to tell me what a lousy/excellent program I've made,
  701.         and giving me a clue how far SQZ has reached. HAND Jonas
  702.  
  703.  
  704.  
  705.             When it's a-jar.
  706.  
  707.  
  708.  
  709.  
  710.