home *** CD-ROM | disk | FTP | other *** search
/ PC Format 1 / PCFORMATISSUE1DISK.iso / A / SB2 / LHA.DOC < prev    next >
Text File  |  1991-07-31  |  28KB  |  801 lines

  1.  
  2. ------------------------------------------------------------------------
  3.                       Manual for LHA Version 2.05
  4.  
  5.                 translated to English by Kenjirou Okubo
  6.  
  7.                                                    Ver 2.05   1991/01/27
  8. ------------------------------------------------------------------------
  9.                              NIFTY-Serve  SDI00506    HARUYASU YOSHIZAKI
  10.                              ASCII-pcs    pcs02846    Yoshi
  11.                              PC-VAN       FEM12376
  12. ------------------------------------------------------------------------
  13.  
  14.      This is a manual for the Beta test version of LHA.EXE.  LHA is
  15.      an upward compatible and improved version of LH113C v113C.  Since
  16.      Microsoft's DOS 5.0 has an interior command LH.EXE, (for Load
  17.      High) the name has been changed from LH.exe to LHA.exe.  Please
  18.      run this program and tell me if/where improvements are needed.
  19.  
  20.            NOTE:  The help guide built into LHA.EXE is still
  21.                   in Japanese.  Refer to the end of LHA205.HLP
  22.                   for the English version last made available.
  23.  
  24.  
  25. 0.  To begin with
  26. -----------------
  27.  
  28.      This is a revised version of LH113C.exe., an archiver which was
  29.      rather slow in execution but tight in compression rate.  I am
  30.      grateful for the support of LH113C's users both in Japan where
  31.      the .LZH file is a standard archived file name and in other
  32.      countries where .LZH is one of a known extension.  I had been
  33.      working for this new version for two years since the last re-
  34.      lease of LH113C.EXE am now glad to announce the release of
  35.      this test version.
  36.  
  37.  
  38.      LHA differs from LH113C:
  39.      -----------------------
  40.  
  41.      LHA is better than LH113 in compression rate, especially with
  42.      large files.  There are a few exceptions if using rather small
  43.      files.  (Under 1 Kb.)  LHA is faster than LH113C in decompres-
  44.      sing, with new static Huffman coding, compared with the older
  45.      dynamic Huffman.  The speed of compression is not as fast as I
  46.      was expecting.  <sigh>
  47.  
  48.      LHA needs more memory than LH113C did.  If there is not enough
  49.      for LHA to work, it may have looser compression rate, although
  50.      it tries to continue execution.  LHA is upper compatible to
  51.      LH113C.  But LH113C is not completely compatible with the LHA
  52.      format.  Please switch to LHA as soon as you can.  With the "/
  53.      o" option, you can dearchive anything made by LH113C, but not
  54.      vice versa.
  55.  
  56.      LHA is distributed as a free program with copyright reserved.
  57.      There is no restriction for the use within private cooperations
  58.      or the use for governmental agencies.  Users must be respon-
  59.      sible for the use of facilities of the software especially of
  60.      the auto ! batch file.  The software is distributed as is.  I
  61.      am not liable for any damage caused by the use of this soft-
  62.      ware.  For commercial use of this software, please refer to our
  63.      distribution policy.
  64.  
  65.  
  66.      Now you can proceed to read the complete description of commands
  67.      and options.  However, if you are not familiar with what an
  68.      archiver is, please refer to the introductory note LHA.HLP
  69.      written especially for LHA.EXE by Irvin Hoff.
  70.  
  71.  
  72.  
  73. 1.  Usage.
  74. ---------
  75.  
  76.   A.  General Format:
  77.   ==================
  78.  
  79.     LHA <command> [/<option> ARC [[DIR\] [FILE]...]...  [-+012|WDIR]...]
  80.  
  81.  
  82.     <command>: if one is not used, you get the help screen or a list of
  83.                FILEs.
  84.     <option>:  you may supply one or more of options explained below.
  85.                (needs an  /  or  -  in front, to designate an option)
  86.     ARC:       archive name.
  87.     DIR:       base directory name.
  88.     FILE:      File name or full pathname if specified.
  89.     WDIR:      Working Directory name.
  90.  
  91.  
  92.   B.  <command>
  93.   =============
  94.  
  95.    a (Add) compress and add to an archive.
  96.  
  97.      Compress and Add files specified to an archive.  If the named
  98.      archive does not exist, then create one with the name.  LHA
  99.      overwrites any file in the archive by the given file name with
  100.      'a' command.  Compare with 'u' command.
  101.  
  102.      The commands 'a' and 'm' are used to make an archive.
  103.  
  104.      < Example 1 >  LHA a ex *.EXE
  105.  
  106.      LHA makes an ARChive ex.LZH, from all the files with extension
  107.      'EXE'.  Extension .LZH is default.
  108.  
  109.  
  110.    u (Update) Compress and Update.
  111.  
  112.      Compress and add files specified to an archive as command 'a'.
  113.      If LHA detects a file with the name same as the one in the
  114.      archive, then LHA selects the new one to add to archive, by
  115.      comparing the time stamp of each.
  116.  
  117.      < Example 2 > LHA u ex *.c
  118.  
  119.      All the FILEs with extension '.C' are archived in ex.LZH.  If
  120.      you already have ex.LZH containing a FILE with the same name,
  121.      only the one with newer time stamp is archived.
  122.  
  123.  
  124.    m (Move)
  125.  
  126.      Compress and add to an archive as 'u' command with checking
  127.      time stamps.  The difference is that LHA deletes all the files
  128.      moved into the archive.
  129.  
  130.      < Example 3 > LHA m ex *.c
  131.  
  132.      does  the same as
  133.  
  134.                   LHA u ex *.c
  135.                   del *.c  .
  136.  
  137.      Watch the second line.  With the /C option, LHA removes all the
  138.      FILEs into the ARChive ignoring time stamps.  You may lose the
  139.      one with the older time stamp.
  140.  
  141.  
  142.    f (Freshen)
  143.  
  144.      LHA looks for a FILE with the same name as the FILE in the
  145.      archive.  If it finds one with a newer time stamp, LHA
  146.      rewrites the one in the archive.  'LHA f /c ARC ' will not
  147.      check the time stamp.
  148.  
  149.      < Example 4 > LHA f ex lha.doc
  150.  
  151.      You have lha.doc compressed and archived in ex.LZH.  You get a
  152.      new lha.doc, then you replace the one in ARChive too.
  153.  
  154.  
  155.    d (Delete)
  156.  
  157.      LHA deletes FILE in ARC.
  158.  
  159.  
  160.    e (Extract)
  161.  
  162.      LHA extracts FILEs from the archive with decompressing.  If LHA
  163.      finds a FILE with a newer FILE with the same name, it skips the
  164.      FILEs.  LHA extracts FILEs from ARChives made by L113C, namely,
  165.      those with the compression ids -lzs-, -lz4-, -lz5-.
  166.  
  167.      <Example 6 > LHA e ex LHA
  168.  
  169.      Extracts all the FILEs in the archive 'ex.LZH'.
  170.  
  171.      < Example 7 > LHA e ex *.com
  172.  
  173.      LHA extracts all the files with extension .COM from 'ex.LZH'.
  174.  
  175.  
  176.   x (eXtract) LHA eXtracts compressed FILE with pathnames.
  177.  
  178.      If LHA can not find any path, then it will create directories.
  179.      FILEs must be archived with full-pathnames.  LHA restores the
  180.      entire directory structure.  'LHA e /x1m1 ARC' does the same.
  181.  
  182.      < EXample 8 > LHA x ex
  183.  
  184.      Suppose '\BIN\CG86.EXE' were among the FILEs in 'EX.LZH'.  LHA
  185.      creates directory '\BIN' if necessary, and extracts 'CG86.EXE'
  186.      there.
  187.  
  188.  
  189.    p (Print) Print FILE on standard out.
  190.  
  191.      LHA prints FILE decompressing from ARC to standard output.
  192.  
  193.      < Example 9 >  LHA  p ex lha.doc
  194.  
  195.      LHA extracts 'LHA.DOC' from 'EX.LZH' and displays it on your
  196.      terminal.
  197.  
  198.      < Example 10 > LHA p ex lha.doc > prn
  199.  
  200.      LHA extracts 'LHA.DOC' from 'EX.LZH' and prints it out from
  201.      your printer.
  202.  
  203.  
  204.    l (List)
  205.  
  206.      LHA lists FILE names in the archive on a line.  A FILE with
  207.      pathname will have a mark '+' on the head of the line.  'LHA
  208.      l /x ARC' shows full-pathnames of FILEs in ARC, and in 2 lines
  209.      per FILE.  You need not type 'l' to have the list.
  210.  
  211.      < Example 11 > LHA lha205.exe
  212.  
  213.      LHA assumes command 'l' and shows list of FILEs archived FILE
  214.      per line.
  215.  
  216.      < Example 11x > LHA /x lha205.exe
  217.  
  218.      You get a similar list but full-pathnames are inserted, and
  219.      each FILE is shown on two lines.
  220.  
  221.      NOTE: Forward slash '/' is used as the pathname separator.
  222.  
  223.  
  224.    v (View)
  225.  
  226.      'LHA v ARC' is the same with 'LHA l /x ARC'.
  227.  
  228.  
  229.    t (Test)
  230.  
  231.      Check the integrity of ARC, by CRC check.
  232.  
  233.      LHA t LHA.EXE or LHA t LHA???.LZH
  234.  
  235.      will announce the authenticity of the file you own.
  236.  
  237.            LHA t LHA.EXE
  238.  
  239.      "This file seems to be ORIGINAL distributed from H.Yoshi."
  240.  
  241.      LHA.exe tests itself for you.  This guarantees the version you
  242.      have is not hacked by anyone, though it is not the full guaran-
  243.      tee in the present state of art.  You can't check LHA.exe if
  244.      you have used executable file compressors such as LZEXE, PKLITE
  245.      or DIET.
  246.  
  247.      < Example 12 > LHA t ex
  248.  
  249.      LHA tests integrity of the FILEs in 'EX.LZH'.
  250.  
  251.      < Example 13 > LHA t LHA.exe
  252.  
  253.      LHA checks if LHA.EXE is the original file distributed.
  254.  
  255.  
  256.    s (Self-extract)
  257.  
  258.      LHA makes a Self-Extracting ARChive from ARC.lzh.  The default
  259.      switch /x0 is assumed when you do not specify.  SFX made with
  260.      the /x0 switch, small model, extracts files on the current
  261.      directory.  You can't activate some programs in the archived
  262.      FILEs automatically with small model.  The size of the SFX file
  263.      is smaller than those made with /x1 switch, large model.
  264.  
  265.      The large model SFX has the ability to restore subdirectory
  266.      structures and can automatically start execution from a FILE
  267.      inside the archive.
  268.  
  269.      < Example 14 > LHA s ex
  270.  
  271.      In this case, LHA makes a small model EX.EXE from EX.LZH.
  272.  
  273.  
  274.  
  275.   C.  </option>
  276.   ============
  277.  
  278.      Each option takes 3 numerical values to define its finer
  279.      actions.  Use 0,1 and 2 to specify.  For some options, the
  280.      values 1 and 2 does the same thing.  You may toggle 0 and 1 by
  281.      '+' and '-" as with LH113C.  You may change switch character
  282.      (option) from  /  to  - if you prefer the '-'.
  283.  
  284.      /x[0|1] (eXtend)
  285.  
  286.      LHA uses eXtended FILE names, namely full-pathnames for FILEs.
  287.  
  288.      You are on the root directory.  Suppose you want to archive the
  289.      FILE '\tc\include\sys\stat.h' in an archive 'ARC.lzh'.  You type
  290.      'LHA a /x1 ARC.lzh \tc\include\sys\stat.h' to store the FILE
  291.      with full-pathname,'\tc\include\sys\stat.h'.  Similarly, you
  292.      have a 2-lined list with full-pathnames with 'l' command.
  293.  
  294.  
  295.      /p[0|1|2] (Precise)
  296.  
  297.      Search file names precisely.
  298.  
  299.      Suppose an ARChive 'TC.LZH' contains both 'STAT.H' and
  300.      'SYS\STAT.H'.  A simple command like 'LHA e TC stat.h' will
  301.      extract both files on the current directory and let one
  302.      override the other.  To avoid such confusion, you can type 'LHA
  303.      e -p TC stat.h' to extract 'STAT.H' only.  While by typing 'LHA
  304.      e -p TC sys\stat.h' you will get 'SYS\STAT.H'.
  305.  
  306.  
  307.      /c[0|1|2]  (ignore Comparison of time)
  308.  
  309.      With commands 'u', 'f', 'e', 'x', LHA ignores the checking of
  310.      time stamps.  With these commands, LHA chooses the newest FILE
  311.      with the same pathname to act on, by default.  This option lets
  312.      LHA ignore the time stamps.
  313.  
  314.  
  315.      /m[0|1|2]  (no Message)
  316.  
  317.      ARC.lzh FILE' gives you the newest FILE n your directory.
  318.      'LHA e /m2 ARC.lzh FILE' dearchives every FILE by choosing
  319.      an unused file extension between 000-999.
  320.  
  321.  
  322.      /a[0|1] (any Attribute)
  323.  
  324.      By default, LHA does not archive FILEs with attribute READONLY.
  325.      This switch enables archiving such FILEs.  Extracted files have
  326.      their archive bit set by default.  With the /a1 switch on, LHA
  327.      restores any attributes of the archived FILEs.
  328.  
  329.  
  330.      /r[0|1|2] (Recursive)
  331.  
  332.      LHA archives and extracts files recursively from
  333.      subdirectories. 'Recursively', means LHA searches all FILEs
  334.      from all subdirectories under the specified directory if there
  335.      is any.
  336.  
  337.      There are three different modes for '/r' switch.
  338.  
  339.  
  340.      /r0: (non-recursive mode, default)
  341.  
  342.      LHA collects files specified by path names only.
  343.  
  344.      /r1:
  345.  
  346.      LHA separates the given pathname into a directory name and FILE
  347.      name.  LHA recursively collects FILEs with the given name from
  348.      all the directories under the directory specified.
  349.  
  350.      < Example 15 > LHA a /r1 source.lzh \source\*.c \source\*.h
  351.  
  352.      LHA collects FILEs with extension C and H from directory
  353.      \source and its subdirectories, probably '\sources\samples\*.c'
  354.      but not '\source\*.obj'.
  355.  
  356.  
  357.      /r2:
  358.  
  359.      LHA recursively collects all the files from all the specified
  360.      subdirectories.  Tree structure of the specified directory is
  361.      archived as it is.
  362.  
  363.      < Example 16 > LHA a /r2x1 a:\*.*
  364.  
  365.  
  366.      NOTE: LH113C has set /x whenever /r is set in e or x commands.
  367.      LHA differs from LH113C in that /x is not set with /r automati-
  368.      cally.
  369.  
  370.      The following questions are the most frequently asked ones:
  371.  
  372.      (1) How do you backup a disk a: ?
  373.  
  374.                         LHA a /r2x1 ARC.lzh a:\
  375.  
  376.      (2) Then how do you retrieve all the directories and files on
  377.          b:?
  378.  
  379.                         LHA x ARC.lzh b:\
  380.  
  381.      /w[0|1|<Directory Name>] (Work directory)
  382.  
  383.      Specify the directory name where LH makes temporary files.
  384.  
  385.                         LHA a /wd:\  ARC.lzh FILEs
  386.  
  387.      set -w switch on.
  388.  
  389.      By default, LHA makes all the temporary files on the directory
  390.      where ARC.lzh is to be made.  It will rename the temporary file
  391.      as ARC.lzh.
  392.  
  393.      LHA makes temporary files on the current directory if no name
  394.      is specified with '/w+'.
  395.  
  396.      When you set Environmental variable 'TMP' this switch is set
  397.      automatically to be 1.
  398.  
  399.      The switch helps LHA when you have not enough room in your base
  400.      directory, or when you have a high speed memory device like RAM
  401.      disk or HARD ram.
  402.  
  403.  
  404.      /n[0|1] (No indicator)
  405.  
  406.      In this version, LHA outputs compressing indicator "ooo....."
  407.      to standard error.  The switch is to suppress this output.
  408.  
  409.      /n1: LHA disables output "ooo....." to indicate its progress.
  410.  
  411.      /n2: LHA disables outputs of filename, compression rates.
  412.  
  413.  
  414.      /t[0|1] (Time stamp)
  415.  
  416.      With command a,u,m,f,d reset time stamp of ARC.lzh according to
  417.      the newest file in the archive. By default, the time stamp of
  418.      an ARC.lzh is the time when the ARC.lzh is made.
  419.  
  420.  
  421.      /z[0|1|2] (Zero compression)
  422.  
  423.      LHA makes an archive without compressing.
  424.  
  425.      /z1: None of the FILEs is compressed
  426.  
  427.      /z2: Compress and archive except for the FILEs with extensions:
  428.           .ARC, .DWC, .LZH, .LZS, .PAK, .ZIP, .ZOO.
  429.  
  430.  
  431.      /o[0|1] (Old compatible compression)
  432.  
  433.      LHA makes an ARChive compatible with LH113C format.  Even in
  434.      this case, LHA makes tighter compression than LH113C ver.1xx.
  435.      Header id is automatically set to be -h1.
  436.  
  437.  
  438.      /h[0|1|2] (Header level)
  439.  
  440.      Choice of header level, default is -h1.
  441.  
  442.  
  443.      /i[0|1] (don't Ignore case)
  444.  
  445.      Recognize Upper and Lower cases.  LH(arc)s have common header
  446.      format in other OS's where cases are recognized as distinct.
  447.      This option is prepared for dearchiving ARChives made by other
  448.      OS'. In the DOS version of LHA, you can't differentiate upper
  449.      and lower when LHA archives FILEs into ARC.  Names are all
  450.      stored in upper case.
  451.  
  452.  
  453.      /l[0|1|2] (Long display ).
  454.  
  455.      LHA outputs filenames in different formats when LHA archives
  456.      and dearchives.
  457.  
  458.       /l0 : FILE names only.
  459.       /l1 : Full-pathnames stored or to be stored in ARChive in 2 lines.
  460.       /l2 : Full-pathname of FILEs accessed by LHA in 2 lines.
  461.  
  462.      < Example 16 > LHA a /r1x1l2 link.lzh c:\link.*
  463.  
  464.      LHA collect link.* with full-pathname from directories below
  465.      c:\, with information from where LHA get these FILEs.
  466.  
  467.  
  468.      /@[1] LHA
  469.  
  470.      recognizes the characters '-' and '@' as the first letter of a
  471.      FILE name.  By default, any file beginning with '@', like
  472.      '@xxx' is recognized as a Response File 'xxx'.  To exit from
  473.      this mode specify '/@0'.  You cannot use '-@0' in this
  474.      particular case.
  475.  
  476.  
  477.   D.  Base Directory.
  478.   ==================
  479.  
  480.      Base directory is not the current nor the root directory.  It
  481.      is the directory on which LHA is executed.  Or you may believe
  482.      that you move to this directory and execute LHA from there.
  483.      You may specify a number of directories as your base
  484.      directories.
  485.  
  486.  
  487.  
  488.   < Example 17 > LHA x program c:\bin\ *.exe *.com c:\temp\ *.man *.doc
  489.                               ~~~~~~~             ~~~~~~~~
  490.      Suppose you are on the directory d:\.  You want to extract
  491.      files with extensions .COM and .EXE on c:\bin, and those with
  492.      extensions .MAN and .DOC on the directory c:\temp.  This is
  493.      equivalent to the following set of command lines.
  494.  
  495.              D>c:
  496.              C>cd \bin
  497.              C>LHA x d:\program *.com *.exe
  498.              C>cd \temp
  499.              C>LHA x d:\program *.man *.doc
  500.  
  501.      Naturally, you can't dearchive a single FILE on multiple
  502.      directories.  The directory specified first has the priority.
  503.  
  504.  
  505.   E.  DOS redirection and response file.
  506.   =====================================
  507.  
  508.      LHA can't accept too many file names on a command line as
  509.      MS-DOS's restriction.  To avoid this inconvenience, now LHA
  510.      accepts PIPES and REDIRECTS of DOS.  Besides LHA can use work
  511.      file called response file to record the names of the files to
  512.      be archived like MAKEFILE for some compilers.
  513.  
  514.  a.  Response File.
  515.  
  516.      The response file name will be marked with the letter '@' as of
  517.      Link.exe.  It is a text file.  You may just write whatever you
  518.      want LHA to be done on this file.  Response file ignores CR
  519.      code and uses space as a separator.  You may write options in
  520.      the response file but you can't nest, calling other response
  521.      file, file names.
  522.  
  523.  
  524.  b.  DOS Pipes and Redirects.
  525.  
  526.      You may specify the same information supplied by a response
  527.      FILE by using pipes or redirections.  You may create a response
  528.      FILE by redirection.
  529.  
  530.      < Example 18 > LHA l /n1 parts > files
  531.                     LHA a newparts @files.
  532.  
  533.      Make a list of files in ARC 'PARTS.LZH' as FILES and use it to
  534.      make a new ARChive 'NEWPARTS.LZH'.  This is done by using the
  535.      response files, after some editing.
  536.  
  537.      < Example 19 > ls | sort | LHA a all
  538.  
  539.      Make a list of files in a directory by ls.exe.  Sort file names
  540.      and make a sorted ARChive ALL.LZH.  Beware of the various
  541.      formats from output of ls.exe.  ls.exe is supposed to list
  542.      files one name per line without any attributes or time stamps.
  543.  
  544.  
  545.   F.  Environmental Variables.
  546.   ===========================
  547.  
  548.  a.  LHA and LH113C
  549.  
  550.      LHA overrides LH113C.  This will reset default optional.
  551.  
  552.  
  553.  b.  TMP
  554.  
  555.      Set working directory as -w option.  In case LHA recognizes no
  556.      working directory, it uses the current directory as the working
  557.      directory and creates temporary files on it.
  558.  
  559.  c.  TZ
  560.  
  561.      the Time Zone (EST, PST, etc.) must be set when you archive
  562.      with the header level -h2- and when you dearchive with -h2-.
  563.      In the Eastern Standard Time Zone you have to set TIME ZONE
  564.      with the DOS command: set TZ=EST+5.  Remember the default
  565.      Remember the default header level is -h1-, in which case you
  566.      are all set.
  567.  
  568.  
  569.   G.  Exit Codes.
  570.   ==============
  571.  
  572.      LH will return following result codes after batch or other
  573.      processes' execution.
  574.  
  575.      0.  Normal.
  576.  
  577.      1.  CRC error, probably with 'e','x','t' commands.
  578.  
  579.      2.  Fatal error.  Process terminated without transactions.
  580.  
  581.      3.  Failed to write temporary files in ARChive.  You may find
  582.          temporary file LHTEMP)2(.LZH on your working directory. You
  583.          may rename this file with extension LZH, and use it as an
  584.          ARChive.
  585.  
  586.  
  587.   H.  Working File Names
  588.   ======================
  589.  
  590.        LHTMP)1(.LZH : Old ARChive renamed.
  591.        LHTMP)2(.LZH : Working file to be renamed as ARChive.
  592.  
  593.  
  594. 2.SFX, Self-Extracting-ARChive
  595. ------------------------------
  596.  
  597.       General Usage:
  598.  
  599.                         SFX.exe [/x] [/!] [/eDIR] [DIR]
  600.  
  601.           /x: do not create new directory.
  602.           /!: auto-execution batch enable.
  603.           [/eDIR],[DIR]; specify directory to extract.
  604.  
  605.  
  606.      SFX.exe is an executable file with FILEs archived in ARChive to
  607.      be extracted by execution.  All the LHA distribution will be in
  608.      Self-Extracting .EXE-format.  Only LHA.exe makes SFX files from
  609.      archive *.lzh made by LHA.exe.  You can't make a Self-Extract-
  610.      ing executable file from ARChive made by 'LH113C.1.xx'.
  611.  
  612.      LHA makes two models of SFX files (a) the small model and (b)
  613.      the large model according to the switch /x0 or /x1, with the
  614.      following special functions.
  615.  
  616.  
  617.    A.  Telop.
  618.    =========
  619.       LHA  displays any file with name '!' if SFX.exe find it archived.
  620.       LHA holds one screen after showing [Y/N] prompt.  LHA proceeds on
  621.       execution if it receives 'Y' and quits execution for 'N'.
  622.  
  623.  
  624.    B.  Directory Specification.
  625.    ===========================
  626.  
  627.      This is possible only for the large model.  You can name the
  628.      directory on which to execute SFX.exe.
  629.  
  630.      < Example 20 > lha205.exe /xec:\user
  631.  
  632.      LHA extracts FILEs in LHA205.EXE on C:\USER.  You may of course
  633.      type:
  634.  
  635.                 LHA e /x0 lha205.exe c:\user ,
  636.  
  637.      to keep the TELOP file.
  638.  
  639.  
  640.    C.  Auto Execution
  641.    ==================
  642.  
  643.      This is possible only for large models.
  644.  
  645.      Archive a batch file with the name "!.bat" and include it in
  646.      the SFX file.  This batch works if and only if you type:
  647.  
  648.                 lha205 -!
  649.  
  650.      LHA always extracts files on the current directory.  Any
  651.      existing "!.bat" file is overwritten.  You can't activate
  652.      existing !.bat by "-!" switch even if there is one on the
  653.      current directory.  The batch file is read if and only if it is
  654.      archived in SFX file.
  655.  
  656.      Two Models of Self-Extracting Files:
  657.  
  658.  
  659.  a.  Small Model  (LHA s SFX.lzh)
  660.  
  661.      This is the default model.
  662.  
  663.      LHA ignores the directory structures even if you make the
  664.      archive file with /x or /r[1|2] switch.  LHA holds only the
  665.      FILE names.  SFX.exe extracts files to the current directory.
  666.  
  667.      There is no limit on the size of SFX.exe as there was for LH113C.
  668.  
  669.  
  670.  b.  Large Model  (LHA s /x1 SFX.lzh)
  671.  
  672.      You can run a batch file to specify the directory to extract
  673.      files. You can retrieve original directory structures with this
  674.      model. You may refrain from creating unexpected structures by
  675.      using /x switch.
  676.  
  677.  
  678. 3.  Main Differences from LH113C
  679. --------------------------------
  680.  
  681.      LHA is an improved version of LH113C in principle.  You will
  682.      notice a number of differences from LHA when comparing with
  683.      LH113C.  Some of the differences will be mentioned at this
  684.      time.  (You may wish to read the LH113.C manual for a better
  685.      comparison if anything appears confusing.)
  686.  
  687.  
  688.      FILE names are not sorted in ARC.  LHA takes FILEs into ARC in
  689.      the order they were stored in the directory when using wild
  690.      cards.  If you specify the order of FILE, then the order is
  691.      reproduced in ARC.  If you add new FILEs in an ARC, then new
  692.      ones will be added to the already existing FILEs.
  693.  
  694.      You may use utilities to sort FILE names in your directory to
  695.      store FILEs in sorted order if you wish.  Or by using pipe you
  696.      may type:
  697.  
  698.      < Example 21 >   ls *.c *.h | sort | LHA a ex.
  699.  
  700.      LHA collects FILEs with extensions C and H sorted in the
  701.      ARChiver 'EX.LZH'.
  702.  
  703.      Consequently, /r switch does not necessarily activate /x switch
  704.      in extraction. In this version of LHA, 'x' command is equiva-
  705.      lent to 'E /x1m1', namely, LHA restores all the tree structures
  706.      of subdirectories.
  707.  
  708.  
  709. 4.  Our distribution Policy
  710. ---------------------------
  711.  
  712.      This software, this document and LHA.EXE, is a
  713.      copyright-reserved free program.  You may use, copy and
  714.      distribute this software free of charge under the following
  715.      conditions.
  716.  
  717.   1.  Never change Copyright statement.
  718.  
  719.   2.  The enclosed documents must be distributed with as a package.
  720.   3.  When you have changed the program, or implemented the program
  721.       for other OS or environment, then you must specify the part
  722.       you have changed.  Also make a clear statement as to your name
  723.       and MAIL address or phone number.
  724.   4.  The author is not liable for any damage on your side caused by
  725.       the use of this program.
  726.   5.  The author has no duty to remedy for the deficiencies of the
  727.       program.
  728.   6.  When you are to distribute this software with publications or
  729.       with your product, you have to print the copyright statement
  730.       somewhere on the disk or on the package.  You cannot
  731.       distribute this software with copyprotected products.
  732.  
  733.  
  734.           As long as those conditions are satisfied, you do not
  735.           have to get the author's permission to use or to dis-
  736.           tribute the software.
  737.  
  738.  
  739. 5.  How to contact the author.
  740. ------------------------------
  741.  
  742.      Please send MAIL to Forum flabo on Nifty serve.  Go Nifty on
  743.      CompuServe and read the instructions there.  Your inquiries or
  744.      your questions are to be addressed to the one of the above
  745.      Nifty forums.  Direct MAIL to the author.
  746.  
  747.     My mail address :  SDI00506 | PFF00253 on Nifty Serve.
  748.                        pcs02846               ASCII-NET pcs.
  749.                        FEM12376               PC-VAN.
  750.  
  751.     Oversea Users may send inquiries, also, to K.Okubo to the address:
  752.                        [74100,2565]        on Compuserve,
  753.                        K.Okubo                Genie,
  754.                        c31834@sinet.ad.jp.    INTERNET,CSNET etc.
  755.  
  756.  
  757. 6. Acknowledgements.
  758. --------------------
  759.  
  760.      What have I done in these days of rapidly changing software
  761.      technologies? My LH113C has contributed for the improvements of
  762.      similar products such as PKZIP(tm) or PAK(tm).  Even with my
  763.      modest Japanese estimate, this I can be proud of at this
  764.      moment.  I thank for all those people who supported and used
  765.      LH113C, voices of users have always been a constant
  766.      encouragement to me.
  767.  
  768.         I express my gratitude to Haruhiko Okumura and members of
  769.         SIG Science of PCVAN for the improvements of algorithms,
  770.  
  771.         to K.Okubo who introduced and supported LH113C on over-
  772.         sea networks such as CompuServe and GEnie.
  773.  
  774.         to Irv Hoff who worked with Kenjirou Okubo on reviewing
  775.         the English version for spelling, grammar and English
  776.         phrasing.
  777.  
  778.         to K.Miki who introduced me to archivers and hold a place
  779.         for experiments,
  780.  
  781.         to members of LSI-Japan who offered excellent versions of
  782.         LSI-C, to the members of Forum FHONYAKU who prepared English
  783.         manual, and finally to all who used LH113C and supported it.
  784.  
  785.  
  786. 7.  Reference
  787. -------------
  788.   1.  Knuth, D.E., Dynamic Huffman Coding, J.Algorithms, 6:163-180.
  789.   2.  Kurita, T.   Harddisk Cook Book.  1987 Shoeisha,Tokyo.
  790.   3.  Kurita, T.  Tool Box of Coputing, Huffman Coding, bit
  791.       70:100-101,1988.
  792.   4.  Okumura,K.,Masuyama,K.,Miki,K.  Practice and theory of Data
  793.       Compression.  The Basic, 70(March):1-65,1989.
  794.   5.  Fiala,E.R., and Greene,D.H., Data Compression with Finite Win-
  795.       dows, Comm.ACM, 32:490-595,1989.
  796.   6.  Okumura,H., and Yoshizaki,H.  Introduction to  Compression
  797.       Algorithm, C Magazine 3:1:44-68,1991.
  798.  
  799.                               - end -
  800.  
  801.