home *** CD-ROM | disk | FTP | other *** search
/ Crawly Crypt Collection 1 / crawlyvol1.bin / utility / archiver / lha310 / doku / manual.eng < prev    next >
Text File  |  1994-05-23  |  55KB  |  1,325 lines

  1. THE EXPLORER'S GUIDE TO LHarc
  2.  
  3. It sometimes seems that versions of LHarc proliferate like rabbits, while
  4. documentation, especially in English, is as rare as hen's teeth and what
  5. there is is neither up to date nor comprehensive. This guide attempts to
  6. throw some light on the subject and to provide a comprehensive guide to
  7. LHarc 2.01, now the most commonly available version, with additional
  8. information on the newest version 3.10 (junior).
  9.  
  10. CONTENTS
  11.  
  12.         1.0 BACKGROUND
  13.         2.0 VERSIONS
  14.         3.0 GETTING STARTED WITH VERSION 2.01
  15.         4.0 USING LHarc 2.01
  16.         5.0 PARAMETER USAGE
  17.         6.0 COMMANDS
  18.         7.0 TEMPORARY FILES
  19.         8.0 SHELLS AND COMMAND LINE INTERFACES
  20.         9.0 VERSION 2.20 and newer
  21.  
  22.  
  23. 1.0 BACKGROUND
  24.  
  25. LHarc has its origins in the world of MSDOS and UNIX and has been ported to
  26. the ST by people like Jon Webb, Thomas Quester and Haruyasu Yoshizaki who
  27. have put their versions in the public domain. Files are compressed using
  28. the Lempel-ziv and Huffman algorithms which give it its name and file
  29. extender (lzh) The archives themselves are portable across platforms at
  30. least in principle; it is the archiving utility programmes that have to be
  31. ST specific.
  32.  
  33. LHarc set out to produce more compact archives than ARC, at the expense of
  34. being slower. New versions of both have changed the picture to some extent;
  35. in particular, new versions of LHarc are much faster. In the PC world, and
  36. now in that of the ST, Zip is challenging LHarc's position; it is fast,
  37. compacts well and on the ST offers a user-friendly interface, allowing
  38. files for archiving or extraction to be picked from a list and repeat
  39. operations to be carried out without leaving the programme.
  40.  
  41. 2.0 VERSIONS
  42.  
  43. There are three compression algorithms in the LHarc family corresponding to
  44. three groups of programmes: identifying which you have is not always easy.
  45.  
  46. 2.1     LARC
  47. This does not use huffman encoding hence the missing h; it produces larger
  48. files but packs and unpacks much faster than LHarc (only in versions <= 2.01).
  49. This method is used in PFXPAK, a shareware programme packer by Thomas Quester.
  50. The programme LARC itself is obsolete as LHarc 2.01 offers this compression
  51. method with the /l switch.
  52.  
  53. 2.2     lh1
  54.  
  55. The original lh1 algorithm is used by Jon Webb's LHarc.PRG (current
  56. version, .51 or 0.6), a TOS programme which obligingly presents a list of
  57. commands with a command line at the bottom. The list is comparatively
  58. simple with only six switches:-
  59.  
  60. ------------------------------------------------------------------------------
  61. LHarc-ST, Archive utility, Version 0.51β, compiled on 17/11/89 at 15:12:58
  62.  
  63.   Usage: LHarc command archive [filenames]
  64. < Commands >
  65.      a - Add file(s) to archive          p - Extract to printer
  66.      m - Move file(s) to archive         l/v - Short/Verbose list of archive
  67.      e/x - Extract file(s) from archive  d - Delete file(s) in archive
  68.      i - Extract with inquiry            r - Rename file in archive
  69.      s - Extract to screen               t - Test archive integrity
  70. < Switches >
  71.      h - Hold after command              b - Retain backup copy of archive
  72.      o - Overwrite existing files        n - No compression (store only)
  73.      f - Floppy/TurboDos check off       c - Add comments
  74. ------------------------------------------------------------------------------
  75.  
  76. Thomas Quester's LHarc.ttp version 1.316 is regarded as the definitive
  77. programme for the lh1 process. Its usage is similar to version 2.01.
  78.  
  79. 2.3     lh5
  80.  
  81. The newer, faster lh5 algorithm is supported by Thomas Quester's 2.01,
  82. usually named LHarc.TTP or LHAR201?.TTP, currently at version l. This uses
  83. lh5 by default, but extracts either lh1 or larc without question and will
  84. pack them if the right switches are used.
  85.  
  86. The newest arrival on the scene, in May 94, is Lharc 3.10 by Christian
  87. Grunenberg and others, based on 2.01l and using the same commands but with
  88. additional switches, the more extensive UNIX wildcards,a built in GEM-
  89. interface and self-extracting files! It is spectacularly faster.
  90. The following timings were for packing and unpacking the package of
  91. programm and text files, totalling 261772 bytes, by which LHarc 2.20 was
  92. distributed.
  93.  
  94.                                 Time mins:secs
  95.                                 Pack    Unpack  Size
  96.                                 ----------------------
  97.         STZIP("deflate best")   1:23    18      118763
  98.  
  99.         LHarc 2.01              2:06    33      120925
  100.  
  101.         LHarc 3.10              1:09    12      120901
  102.  
  103. Source files and the archive were both on a ramdisk and timings were
  104. taken from clicking ok from the command line or the STZIP screen using a
  105. desktop clock.
  106.  
  107. Many of the new switches are about naming files and seem intended to cope
  108. with MiNT/ MultiTOS conventions. Some of the changes are drastic enough to
  109. make it inadvisable to use existing shells. Version 3.10 junior corrects a
  110. few bugs and adds some additional features. Anyway - use LHarc 3.10 and its
  111. built in GEM-interface!
  112.  
  113. The remainder of the text is about using Version 2.01; variations for 2.20
  114. and newer versions are appended at the end.
  115.  
  116. 3.0 GETTING STARTED WITH VERSION 2.01
  117.  
  118. Documentation for this programme consists of a German manual (MAN.DEU) an
  119. English manual (MAN.ENG), not as comprehensive as MAN.DEU, the README and
  120. LIESMICH files containing installation instructions and the revision
  121. history and LHarc.DOC, a brief introduction in German. There is also
  122. ALGORITHM.DOC explaining the compression methods used.
  123.  
  124. Like many PD authors Thomas Quester asks that his programme should always
  125. be distributed with documentation. He goes to greater lengths than most,
  126. distributing LHarc as a packed programme (using PFXPAK) with the manuals
  127. (MAN.DEU, or if you are very lucky MAN.ENG) appended in compressed form - a
  128. combination of packed file and archive. PD libraries and Bulletin Boards
  129. often break this up and distribute the files separately with or without the
  130. manual. I have never knowingly seen this file though I have a much larger
  131. one of the same kind which came with my registered version of PFXPAK.  If
  132. your LHarc seems rather large it may be one of these compound files. It
  133. runs in the normal way as an archiving programme, but will put on screen
  134. the message:
  135.  
  136. LHarc beinhaltet noch einige Dateien.   Auspacken mit  x -rm LHarc.TTP
  137.         or
  138. LHarc könnte noch einige Dateien enthalten. Auspacken mit Paramter LHarc.TTP
  139.  
  140.         This means:
  141.  
  142. LHarc contains some files.              Unpack with   x -rm LHarc.TTP
  143.  
  144. meaning that the files can be unpacked, to the current directory, by giving
  145. LHarc its own name as a parameter.
  146.  
  147. The LIESMICH or README file if you have it, contains instructions for
  148. producing a smaller, working copy of the programme alone without this
  149. message: however it is possible to delete the files still leaving the
  150. message, so nothing can be taken for granted.
  151.  
  152. 4.0 USING LHarc 2.01
  153.  
  154. LHarc is a ttp programme, presenting that daunting empty parameter box when
  155. run from the desktop. It carries out one command at a time then exits. If
  156. you make a mistake you have to type the command again; it keeps no history
  157. of the commands given. No more than 38 characters may be typed on the
  158. command line. Long chains of switches or extended path names quickly eat
  159. this up.
  160.  
  161. If you want to make repeated use of the programme, it is worth copying it
  162. to a ramdisk for faster operation, particularly if you have no hard drive:
  163. this will also enable you to keep data and archive disks in the floppy
  164. drive. It may be worthwhile creating the archive on ramdisk if yours is big
  165. enough, particularly if you are carrying out repeated alterations resulting
  166. in the archive being constantly updated.
  167.  
  168. If no parameters are passed it displays the following on pressing <return>:
  169.  
  170.  
  171. LHarc Version 2.01l (Atari ST)  Copyright (c) Haruyasu Yoshizaki, 1988-89.
  172.                                          Optimiert von Thomas Quester    1989-91
  173. ================================================================        03.07.91  ===
  174.                 <<< High-performance file-compression program >>>
  175. ===============================================================================
  176.   Aufruf: LHarc  [<Kommando>] [{{/|-}{<Schalter>[-|+|2|<Option>]}}...] <archive>
  177.                  [{<Laufwerk>:}|{<Hauptvezeichnis>\}] [<Pfad> ...]
  178. -------------------------------------------------------------------------------
  179. <Kommando>
  180.      a: Dateien an Archiv anfügen       u: Dateien im Archiv erneuern
  181.      f: Dateien anfügen, wenn neuer     m: Datei in das Archiv 'moven'
  182.      d: Dateien aus Archiv löschen    e,x: Dateien aus Archiv extrahieren
  183.      p: Dateien aus Archiv anzeigen   l,v: Dateiliste des Archivs
  184.      t: Archiv testen                   c: Dateien für AFX komprimieren
  185.   <Schalter>
  186.      r: Mit Ordnern packen/entpacken    w: Arbeitsdirectory bestimmen
  187.      x: Erweitere Dateinamen            m: Beantworte alle Fragen mit Ja
  188.      p: Unterscheide Ordnernamen        c: Kein Vergleich des Dateidatums
  189.      a: Erlaube bel. Dateiattribute     v: Dateien mit anderem Prg ansehen
  190.      n: Keinen Prozessindikator zeigen  h: Warte auf Tastendruck vor exit
  191.      t: Archivdatum setzen              y: Nur dateien mit Archive bit packen
  192.      b: Wie y, Archivbit wird gelöscht  l: Erzeuge Larc-kompatibles Archiv
  193.      d: Unterdrücke ALLE Ausgaben       o: Erzeuge 1.13-kompatibles Archiv
  194.      u: Ungepackt speichern             k: Erzeuge Kompatible Header
  195.      e: Mit Kommentaren archivieren     5: Zwinge lh5-Archiv
  196.      s: Wandle \ in / um
  197. ===============================================================================
  198.   (Eine genaue Anleitung finden Sie im User-Manual.)
  199.   Wenn Sie Yoschi erreichen wollen: Nifty-Serve  PFF00253
  200.                                         oASCII-pcs       pcs02846
  201.   Wenn Sie Thomas Quester  UUCP the.fawn@mcshh.hanse.de
  202.   erreichen wollen:        Maus Thomas Quester @ HH
  203.                            Tel./BTX (040) 720 54 31
  204.  
  205.  
  206.  
  207. The line:
  208.  
  209. Aufruf: LHarc  [<Kommando>] [{{/|-}{<Schalter>[-|+|2|<Option>]}}...] <archive>
  210.                  [{<Laufwerk>:}|{<Hauptvezeichnis>\}] [<Pfad> ...]
  211.  
  212. is a concise summary of the syntax of the command line; in English it is
  213. almost as cryptic:
  214.  
  215. Usage LHarc [<command>] [{{/|-}{<switch>[-|+|2|<option>]}}...] <archive_name>
  216.                 [{<drive_name>:}|{<home_directory_name>\}] [<path_name>  ...]
  217.  
  218.         LHarc used only from a command line or another programme;
  219.                 do not use when run from the desktop
  220.         <>      parameter name
  221.         []      optional parameter
  222.         |       (shifted \) alternative
  223.         {}
  224.  
  225. Parameters must be separated by spaces; the only essential parameter is the
  226. archive name. LHarc will use default values for all the others. The order
  227. must be as shown except that switches can be placed anywhere after the
  228. command. LHarc is insensitive to case except in switches which must be
  229. lower in version 2.01; 2.20 and newer versions use upper case switches as
  230. well; it also insists on switches immediately following the command.
  231.  
  232. For clarity we shall call the files to be archived "source" files, lzh
  233. files "archive" files, and the files in the archive "archived" files.
  234.  
  235. Hitting 'Ctrl-C' at any time will abort LHarc's current operation and
  236. return you to the desktop. It may leave temporary files lying around if you
  237. do so. 'Ctrl-S'and 'Ctrl-Q' will pause and resume operations, which is
  238. useful for reading scrolled listings.
  239.  
  240. (#9.1), etc refers to changes in versions newer than 2.20 described in
  241. section 9.0.
  242.  
  243. 5.0     PARAMETER USAGE
  244.  
  245. 5.1     <Command>:
  246.  
  247. A command tells LHarc what to do. It must be the first parameter given and
  248. only one is allowed on each command line. If none is given, extraction,
  249. "x",  is implied. If a command is placed other than at the beginning of the
  250. line, LHarc will extract files, interpreting the command as some other
  251. parameter, eg an archive called "a".
  252.  
  253. 5.2     <Switch>:
  254.  
  255. Switches modify the action of commands or the way the LHarc runs. They are
  256. identified by the delimiter "/" or "-" and may be placed anywhere except
  257. before a command. (#9.1)
  258.  
  259. Some switches are automatically set by commands:
  260.         the command "v" sets the switch "/x" for extended file names;
  261.         or other switches - "/r" sets "/x3".
  262.  
  263. The switch letter is a toggle (#9.1) which reverses the current state.The
  264. default is off but this may have been altered:
  265.  
  266.         1) by a previous switch in the same command line, whether
  267.         written or implied by another switch or command,
  268.         or
  269.         2) by an environment variable set by a shell programme or cli.
  270.  
  271. Thus    /xx     sets and unsets extended filenames;
  272.         /rx     sets LHarc to search folders then tells it not to use
  273.                 extended filenames
  274.  
  275. "+" or "-" following the switch set it unambiguously on or off; if in
  276. doubt use these. Several switches may be selected by typing them
  277. continously after the delimiter: eg /rhc. Otherwise type / before each
  278. switch. /w and /v must be at the end of such sequences as they may take
  279. further arguments.
  280.  
  281. 5.3 SELECTION PARAMETERS
  282.  
  283. The remaining parameters concern identifying files and paths. LHarc will
  284. look for a file in the current drive and directory unless its name is
  285. preceded by a drive letter and/or path.  In GEM terms the current directory
  286. is the active window on the desktop from which programmes are normally
  287. launched.
  288.  
  289. [If you are using a command line interface this will be familiar; if you
  290. are using an archive shell you will never be aware of it at all.]
  291.  
  292. You can run a programme from an inactive window using the right, or
  293. cinderella, button:
  294.  
  295.         Open the programme window containing LHarc.
  296.         Open the window you want to make current - most usefully the one
  297.          where files will be read from or written to - making this the
  298.          active window;
  299.         Move the mouse to the programme window;
  300.         Holding down the right button, double click with the left.
  301.  
  302. You may also specify a file not in the current directory by typing in the
  303. drive and/or pathname on the command line:
  304.  
  305.  The conventions of MSDOS apply:
  306.  
  307.         D:              drive "D"
  308.         \path\          path beginning at the root of the current or
  309.                         specified drive
  310.         path\           path starting from the current directory or
  311.                         from the last used directory of the specified
  312.                         drive.
  313. Thus:
  314.         D:arc           the archive "arc" in the last used directory
  315.                         of drive D:
  316.         \arc            the archive "arc" in the root directory of the
  317.                         current drive
  318.         path\arc        the archive "arc" in the subdirectory "path"
  319.                         of the current window.
  320.  
  321.  
  322. 5.4     <ARCHIVE>:
  323.  
  324. This is the only essential parameter: given an archive name,
  325. Lharc will unpack all the files in the named archive to the current
  326. directory.
  327.  
  328. The parameter must include the archive name; the extender .lzh is implied
  329. and need not be written unless the archive has some other extender or
  330. has a single letter name which could be confused with a command. Self-
  331. extracting files with .TOS extenders can be viewed or extracted if the
  332. extender is given. Only one archive parameter is allowed and LHarc can,
  333. naturally, write to only one archive at once, which must be given a full
  334. name. However, LHarc will read or extract from multiple archives identified
  335. by wildcards: eg "a*" means all lzh files beginning with "a" and "*" means
  336. all archives in the current or specified directory.
  337.  
  338.           LHarc e * *.c
  339.  
  340.         Extracts all files with extension .C from all archives in
  341.         the current directory.
  342.  
  343.  
  344. The next two parameters, <DRIVE/HOME DIRECTORY> and <PATH> are both
  345. concerned with the location and selection of files (not archives) to be
  346. archived or read from archive. Without either parameter LHarc will read
  347. files from and write them to the current directory and will select all
  348. files as though *.* had been typed. The distinction between these parameters
  349. can be confusing.
  350.  
  351. 5.5     <DRIVE/HOME DIRECTORY>:
  352.  
  353. This parameter substitutes a new directory for reading and writing files in
  354. place of the current one; it contains a drive letter followed by a colon
  355. and/or a path specification ending with  \.  Leading "\"s follow the same
  356. convention as described above. If the final ":" or "\" is omitted the
  357. parameter will be read as <PATH>. The path defined here will not be
  358. included in extended file names. (#9.3)
  359.  
  360. 5.6 <PATH>:
  361.  
  362. This is a misleading name as there may be no path element at all; if
  363. used at all the parameter must contain a filename or wildcard
  364. specification, to identify the file(s) to be archived, listed or extracted.
  365. A path specification is used:
  366.  
  367. 1)      in archiving, to identify the directory where files are to be
  368.         found: unlike the <home> parameter, the path will be included in
  369.         extended filenames. If a drive name is specified it will override
  370.         any path set in the <HOME> parameter, as will a leading \.  A file
  371.         archived with a leading \ will be extracted to the root directory,
  372.         regardless of any <home> setting, unless the /p switch is set.
  373.  
  374. 2)      in reading archives, to identify the files to be selected.
  375.  
  376. If no file name or specifier is used after a '\' the parameter will be read
  377. as <HOME>.  This and <switch> are the only parameters which can be repeated
  378. on the same command line.
  379.  
  380. EXAMPLES: " ~ " = space
  381.  
  382.         a ~ path1\arc ~ a:path2\ ~ path3\*.prg ~ *.ttp ~ /hr
  383.  
  384. <command>       a               add to or create
  385. <archive>       ~ path1\arc     archive "arc" in the subdirectory "path "
  386.                                 of the current window;
  387. <home>          ~ a:path2\      look for files in the current directory of
  388.                                 drive A: ignore this path name in extended
  389.                                 filenames;
  390. <path>          ~ path3\*.prg   archive all "prg" files in the
  391.                                 subdirectory "path" of the directory just
  392.                                 set;
  393. <path>          ~ *.ttp         and all "ttp" files in the home directory;
  394. <switch>        ~ /h            hold the screen on finishing (so you can
  395.                                 see the error message)
  396.                   r             and search subdirectories in the specified
  397.                                 file path saving files with with extended
  398.                                 file names.
  399.  
  400.  
  401. If the third space is omitted,
  402.  
  403.        a   ~ path1\arc ~ a:path2\path3\*.prg ~ *.ttp ~ /hr
  404.   <command>  <archive>   <path>                <path>  <switch>
  405.  
  406. the third parameter becomes a <path>; the same *.prg files will
  407. be selected but saved with a longer pathname: "path2\path3\*.prg". The
  408. following parameter will now archive all ttp files on the current directory
  409. - usually the one where LHarc is.
  410.  
  411. If you make "a:path2\" the active window, and run LHarc from another window
  412. using the right mouse button, you can omit the <home> command saving some
  413. space on the command line
  414.  
  415.         a ~ path1\arc ~ path3\*.prg ~ *.ttp ~ /hr
  416.   <command>  <archive>  <path>        <path>  <switch>
  417.  
  418. Alternatively, with path2's window open, though not necessarily
  419. active, provided LHarc.ttp is not on the same drive as path2, then:
  420.  
  421.         a ~ path1\arc ~ a:path3\*.prg ~ a:*.ttp ~ /hr
  422.   <command> <archive>   <path>          <path>    <switch>
  423.  
  424. will direct LHarc to search path2\ of drive A: for source files, achieving
  425. the same result. Note that the drive identifier a: has to be repeated in
  426. both <path> parameters: it will not be stored with the file names.
  427.  
  428. 6.0 COMMANDS
  429.  
  430. Having discussed the syntax of parameters we will now look at what the
  431. commands and switches do.
  432.  
  433. Commands fall into several groups:
  434.  
  435. 6.1  Input commands:
  436.  
  437. Compress files and store them in a named archive which will be created if
  438. it cannot be found.  The extension lzh is assumed: if you specify a
  439. different extension, LHarc will prompt you whether to use it with the
  440. message
  441.  "Extension of archive is not '.' Continue processing? [Y/N]".
  442. Note that LHarc will not attempt to compress the named archive itself so it
  443. does not matter if it is in the same path as the source files.
  444.  
  445. 6.1.1   a       add
  446.  
  447.         adds files to the archive, overwriting existing files with the same
  448.         (extended) name. No prompt is given before overwriting.
  449.  
  450. 6.1.2   m       move
  451.  
  452.         as a but deletes the source files.
  453.  
  454. 6.1.3   u       update
  455.  
  456.         adds files as a but overwrites only those with an earlier date.
  457.         LHarc will declare what file names have been matched but, if none
  458.         of the archived files have an earlier date, will exit without
  459.         further action or warning.
  460.  
  461. 6.1.4   f       freshen
  462.  
  463.         updates files already in an archive with newer versions.
  464.  
  465. 6.1.5   c       compress
  466.  
  467.                 compresses single files for unpacking by AFX
  468.  
  469. Source files may be specified by means of the <home> and <path> parameters.
  470.  
  471. Switches:          l,o,k,u,5  r,c,a,y,b,  x,e,t,w,      m,n,d,h
  472.  
  473. LHarc will normally use lh5 as a compression method; the following switches
  474. select alternatives which you may use if you anticipate your archive being
  475. read by other utilities:
  476.  
  477.                 (commands: a|u|m|f )
  478.  
  479. 6.1.10  /l      Makes Larc archives.
  480.  
  481.          This format, the same as PFXPAK uses, produce archives are longer
  482.          by about 5% but extract much faster.
  483.  
  484. 6.1.11  /o      Uses the lh1 algorithms; ("LHarc 1.13 compatible")
  485.  
  486.         For use with LHarc 1.13  and earlier versions of LHarc and with
  487.         UNLZH and LHXARC.
  488.  
  489. 6.1.12  /k      Compatible headers
  490.  
  491.         LHXarc and early versions of LHarc cannot extract files with the
  492.         extended headers used by LHarc2.x. Using /ok you can make
  493.         compatible headers. (#9.5/k)
  494.  
  495. 6.1.13  /u      Archives files without compression:
  496.  
  497.          if you are adding packed programmes or other compressed files to
  498.          an archive there is little to be gained by attempting further
  499.          compression except that time will be taken in packing and
  500.          unpacking. You can also add a short comment file to an archive
  501.          which can be read by running the archive from the desktop or in a
  502.          text editor.  (#9.5/U)
  503.  
  504. 6.1.14  /5      Forces compression by lh5
  505.  
  506.         LHarc will normally not attempt to compress already packed files
  507.         (see switch /U). This switch tells LHarc to try to compress any
  508.         files. This will slow down LHarc but the compression-ratio will be
  509.         better.
  510.  
  511. These switches affect the selection of files to be archived:
  512.  
  513. 6.1.20  /r[-|+|2] (Recursively collect files)   (commands: a|u|m|f)
  514.  
  515.         by default LHarc compresses the files in the directory identified
  516.         by the <home> or <path> parameters, or failing that the current
  517.         directory; it does not look for files in subdirectories.
  518.  
  519.         The /r switch instructs it to search subdirectories
  520.  
  521.         a|u|f|m] /r[+] ARCHIVE
  522.  
  523.         Adds to 'ARCHIVE' all files in the current directory and its
  524.         subdirectories.
  525.  
  526.         a|u|f|m] /r[+] ARCHIVE *.c
  527.  
  528.         Adds to 'ARCHIVE' all files in the current directory and its
  529.         subdirectories with a 'c' extender.
  530.  
  531.         a|u|f|m] /r[+] ARCHIVE doc\*.*
  532.  
  533.         Adds to 'ARCHIVE' all files in the directory doc and its
  534.         subdirectories. The same can be achieved without filenames or
  535.         wildcards in the pathname doc by:
  536.  
  537.         a|u|f|m] /r2 ARCHIVE doc
  538.  
  539.         See (9.5/r)
  540.  
  541. The /r and /r2 switches set the /x switch simultaneously, so that in all
  542. these examples extended file names will be stored, starting at the
  543. beginning of <path>. You may toggle the /x switch off (with /x-) after
  544. using /r to tell LHarc not to store directory names. If LHarc then finds
  545. source files of the same name it will overwrite previously archived files,
  546. after comparing their date stamps if commands u,f are in use.
  547.  
  548. You can use the /r switch to archive files with the same file name by
  549. recursively searching directories.  Thus, with the directory shown below
  550.  
  551.                         |
  552.                        -\-
  553.                         |
  554.                        -TC-STAT.H
  555.                         |
  556.                 -----------------
  557.                 -BIN- -LIB  -INCLUDE
  558.                   |     |       |
  559.                               -SYS-
  560.                                 |
  561.                              -STAT.H
  562.  
  563.           LHarc a /r ARCHIVE stat.h
  564.  
  565. adds two 'stat.h' files, with path names, to 'ARCHIVE': one from the root
  566. directory and the other from the directory \tc\include\sys\.
  567.  
  568. See 6.1.30 for /x.
  569.  
  570. 6.1.21  /c[-|+] (skip time-stamp Comparison)    (commands: e|x|u|f).
  571.  
  572.         overrides the time stamp comparison in u and f.
  573.  
  574.  
  575. 6.1.22  /a[-|+] (allow any Attribute of files)  (commands: e|x|u|f).
  576.  
  577.         This switch tells LHarc to archive/extract files with the
  578.         hidden or system attribute which it would otherwise ignore.
  579.  
  580. 6.1.23  /y      (Archive bit)                   (commands: a|u|m|f)
  581.  
  582.         Only select files with the archive bit set. The archive bit is set
  583.         whenever a file is created or modified. Some back up utilities and
  584.         the /b switch "unset" it so unchanged files can be identified at
  585.         the next back-up.
  586.  
  587.         a -ry *.*
  588.  
  589.         Will archive all files that have been changed since their archive
  590.         bit was unset.
  591.  
  592. 6.1.24  /b                                      (commands: a|u|m|f)
  593.  
  594.         Like y, but the archive bit of the source file is reset.
  595.  
  596.         If you archive a file using this switch, then attempt to repeat the
  597.         process with this or the /y switch no files will be found.
  598.  
  599.  
  600. These switches govern the information stored with the archived files:
  601.  
  602. 6.1.30  /x[-|+] (allow eXtended file names)    (commands: a|u|m|f|e|x)
  603.  
  604.         By default, LHarc stores the file names of source files without the
  605.         names of the directory(s) in which they reside.  This switch tells
  606.         LHarc to include directory names and to extract archived files
  607.         together with stored directory names, creating the necessary
  608.         folders. (#9.5/x)
  609.  
  610.         Example: Suppose you are in the root directory, '\' and you have
  611.         two files 'stat.h' and '\tc\include\sys\stat.h':
  612.  
  613.           LHarc a ARCHIVE stat.h
  614.  
  615.         Adds only the file 'stat.h' from the current (root) directory to
  616.         'ARCHIVE', but
  617.  
  618.           LHarc a ARCHIVE stat.h \tc\include\sys\stat.h
  619.  
  620.         Will cause LHarc to abort with the message "Same names in
  621.         another path", because directory names are normally disregarded
  622.         when storing file names.  However,
  623.  
  624.           LHarc a /x ARCHIVE stat.h \tc\include\sys\stat.h
  625.  
  626.         Adds both files to 'ARCHIVE'. Then,
  627.  
  628.           LHarc e ARCHIVE stat.h
  629.  
  630.         Extracts both 'stat.h' files to the current directory and compares
  631.         their time stamps and if one is newer, then LHarc will prompt you
  632.         with the message "'STAT.H': Already exists. Overwrite? [Y/N]".
  633.  
  634.           LHarc e /x ARCHIVE stat.h
  635.  
  636.         Extracts both 'stat.h' files; one to the current directory and the
  637.         other to the directory \tc\include\sys\. If this directory does
  638.         not exist, then LHarc will prompt you whether to create it.
  639.  
  640. 6.1.31  /e[-|+] (comment)                       (commands: a|u|m|f)
  641.  
  642.         Adds a comment to the archived which will be displayed by the v or
  643.         l /x commands. (#9.5/z)
  644.  
  645. 6.1.32  /t[-|+] (Time Stamp)                    (commands: a|u|m|f)
  646.  
  647.         The archive file is normally given the time and date of its
  648.         creation. This switch sets the time stamp of the archive to that of
  649.         the newest file in the archive.
  650.  
  651.          a /t ARCHIVE file1.ext
  652.  
  653.  
  654. 6.1.33  /w[-|+|<directory_name>] (Working directory) (commands: a|u|m|f)
  655.  
  656.         When  modifying an existing archive LHarc creates temporary files
  657.         in the same directory as the archive, deleting them afterwards.
  658.         (See 7.0) Using the /w switch:
  659.  
  660.         a /wd:\temp ARCHIVE file1.ext file2.ext ...
  661.  
  662.         creates these files in the directory \temp\ on drive D:.  If no
  663.         directory name is specified, temporary files will be created in the
  664.         current directory.
  665.  
  666.         Specifying a ramdisk with this switch can speed up operations
  667.         considerably; it is also useful when you have no room on the disk
  668.         where the archive is.
  669.  
  670.         This switch overrides any working directory specified in an
  671.         environment variable (see 8.0)
  672.  
  673.  
  674. 6.2 Output commands:
  675.  
  676. Expand files from a named archive recreating them on disk: archived files
  677. may be specified using the <path> parameter and the destination for
  678. extracted files by the <home> parameter. If files of the same name are
  679. found LHarc will prompt "Overwrite? [Y/N]". Version l gives the option to
  680. rename.  The contents of self-extracting files with .TOS extenders can be
  681. extracted if the tos extender is included in the archive name.
  682.  
  683. 6.2.1   e,x extract:
  684.  
  685. Switches:          x,p,c,l,u,  m,n,d,h
  686.  
  687. 6.2.10  /x[-|+] (allow eXtended file names)    (commands: a|u|m|f|e|x)
  688.  
  689.         See above (6.1) for this switch
  690.  
  691.         Running LHarc with no command is equivalent to:
  692.  
  693.         e (or x) /x
  694.  
  695.         if you don't want files extracted to directories use /x- (or /x as
  696.         it is a toggle) with no command or use the x or e command.
  697.  
  698. 6.2.11  /p[-|+] (distinguish full Path names) (commands: e|x)
  699.  
  700.         When extracting LHarc will search for the specified files
  701.         regardless of extended filenames. This switch tells LHarc to
  702.         distinguish files by full path name during un-archiving. (#9.5/p)
  703.  
  704.         Example: Suppose your archive 'tc' contains both 'stat.h' and
  705.         'sys\stat.h'.   Then,
  706.  
  707.           LHarc e tc stat.h
  708.  
  709.         Extracts both 'stat.h' files to the current directory and the older
  710.         one will be overwritten by the newer one, whereas
  711.  
  712.           LHarc e /p tc stat.h
  713.  
  714.         Extracts only 'stat.h' to the current directory and ignores
  715.         'sys\stat.h', because its path name is not specified.
  716.  
  717.         If you specify a path names without the /p switch, LHarc will
  718.         extract only those files from your archive, but it will otherwise
  719.         disregard stored directory names.  (If you want to extend file
  720.         names with directory names, use the /x switch.)
  721.  
  722.           e tc sys\stat.h
  723.  
  724.         Extracts only 'sys\stat.h' to the current directory.
  725.  
  726.  
  727. 6.2.12  /c[-|+] (skip time-stamp Comparison)    (commands: e|x|u|f).
  728.  
  729.         /c ARCHIVE [file1.ext file2.ext ...]
  730.  
  731.         When extracting if LHarc finds an existing file with the same name
  732.         in the destination directory it will compare the time stamp of
  733.         the two files, and so some files will be overwritten and some just
  734.         ignored. This switch tells LHarc to overwrite any existing files
  735.         with extracted ones with the same name.
  736.  
  737.  
  738. Two switches are concerned with reading Lzh archives from Unix sources
  739.  
  740. 6.2.20  /s      Convert / to \                          (commands: e|x)
  741.  
  742.         Unix uses / as a directory delimiter instead of /. This switch
  743.         converts / to \ enabling Unix directory paths within extended
  744.         filenames to be interpreted in the ST environment.
  745.  
  746. 6.2.21  /u      Extract Unix 1.0 archives               (commands: e|x)
  747.  
  748.         Used when extracting, this switch jumps over the header-checksum-
  749.         test, so that archives from Unix 1.0 can be extracted. (Unix
  750.         permits longer filenames than MS/GEMDOS.) Use when 'No files' shows
  751.         up during extraction. (Should also be able to extract archives with
  752.         comments). (#9.5/C)
  753.  
  754.         More recent versions of LHarc cope with Unix type filenames by
  755.         truncating them and also support comments, so this switch may be
  756.         redundant, but it is worth remembering if you have trouble or are
  757.         using an older version of LHarc (<2.00).
  758.  
  759.  
  760. 6.3 Internal commands
  761.  
  762. Work on archived files in a named archive; files within the archive may be
  763. specified using the <path> parameter
  764.  
  765. Switches:          x,v(p only),  n,d,h
  766.  
  767. d delete
  768.  
  769.         deletes named archived files which must be identified by the <path>
  770.         parameter; this command will not delete a whole archive by default,
  771.         though it will with *.*. No prompts are given.
  772.  
  773.  
  774. 6.3.1   l (List files in archive)
  775.  
  776.           LHarc l ARCHIVE
  777.  
  778.         Lists the files in 'ARCHIVE' including name, original size, stored
  779.         size, compression ratio, date and time, attributes, compression
  780.         type and CRC check using one line to each file. A '+' before a file
  781.         name indicates that a directory name is stored with the file name.
  782.         (The /x switch or v command display directory names.)
  783.  
  784.         The path parameter will filter the files to be listed
  785.  
  786.           LHarc l ARCHIVE *.c *.h readme.doc
  787.  
  788.         Lists information on all the .C, .H and README.DOC files
  789.         in 'ARCHIVE'.
  790.  
  791. 6.3.2   v (View list of files in archive)
  792.  
  793.           LHarc v ARCHIVE
  794.  
  795.         is equivalent to:
  796.  
  797.           LHarc l /x ARCHIVE
  798.  
  799.         Lists information as l but each file takes two lines: the first for
  800.         the full path name and the second for the rest of the information,
  801.         including comments.
  802.  
  803. 6.3.3   t (Test integrity of archive)
  804.  
  805.           LHarc t ARCHIVE
  806.  
  807.         Tests the integrity of 'ARCHIVE' by running a CRC check on each
  808.         file and comparing the result against the file's stored CRC value.
  809.  
  810. 6.3.4   p show file
  811.  
  812.         displays on screen the contents of files specified
  813.         by means of the <path> parameter.
  814.  
  815. 6.3.40  /v[-|+|2|<path\utility.ext>] (View file by another utility)
  816.  
  817.         LHarc creates an un-archived file 'LHarc.TMP' and displays it using
  818.         the specified utility, usually a text editor or file viewer. You
  819.         must give the full name of the utility with the extension, though
  820.         you may use wildcards such as r*.* to invoke "read.prg" If no
  821.         utility is specified the default is one called "less.ttp". You may
  822.         rename your favourite file viewer accordingly. 'LHarc.TMP' is
  823.         deleted after you have viewed it. The benefit of this is that you
  824.         can use all the features of the utility to scroll through the text,
  825.         save, print, search, etc.
  826.         (#9.5/v)
  827.  
  828.         LHarc p /vread.prg ARCHIVE.LZH file1.ext
  829.  
  830.         Invokes READ.PRG for paged display of 'file1.ext' to the screen,
  831.  
  832.         LHarc p /v2 /vread.prg ARCHIVE.LZH file1.ext
  833.  
  834.         as before but /v2 suppresses the output of file names or path
  835.         names.  This option is provided for viewing binary files with a
  836.         dump utility.
  837.  
  838. Output from l,v and p , including LHarc's own messages, may be redirected
  839. to a file by >"filename", to the printer (parallel port) by >prn: and to
  840. the serial port by >aux:  The final colon is essential, otherwise LHarc
  841. will direct output to a file called "prn". Using /d will suppress
  842. LHarc's messages but not the filename. (#9.4)
  843.  
  844. You may also append to a file using >>, but the process is so slow I
  845. recommend you only use this if you are about to take a holiday. If you use
  846. MORTIMER's print spooler you can achieve the same effect by directing
  847. output to prn: or aux: with the printer off-line, and then retrieving the
  848. contents of the spooler into the editor using 'Ctrl-X'.
  849.  
  850. The screen display with these commands may be paused by 'Ctrl-S' and
  851. resumed with 'Ctrl-Q'.
  852.  
  853.  
  854. 6.4 The following switches apply to most commands:
  855.  
  856. 6.4.1   /m[-|+] (no Message for query)
  857.  
  858.         [<command>] /m ARCHIVE [file1.ext file2.ext ...]
  859.  
  860.         Before altering files or directories, or before creating
  861.         an archive with a extension other than LZH, LHarc will query you
  862.         with messages like "Overwrite? [Y/N]". This switch suppresses these
  863.         messages and tells LHarc to proceed as if "y" is typed in.
  864.  
  865. 6.4.2   /n[-|+] (No Indicator)
  866.  
  867.         Suppress progress display ****... when archiving and de-archiving.
  868.         This display is on even when output is redirected to printer or
  869.         file.
  870.  
  871. 6.4.3   /d[-|+] (suppress screen display)
  872.                          (#9.5/q- do not use with version 2.20 or newer!)
  873.         LHarc will write nothing to the screen while working.
  874.  
  875. 6.4.4   /h[-/+] (hold screen)
  876.  
  877.         With /h LHarc waits for a key before returning to desktop
  878.         enabling messages to be read.
  879.  
  880. 6.4.5   /q      Quick compression
  881.  
  882.         Not currently supported
  883.  
  884. There is also an as yet unimplemented command s to create self extracting
  885. archives. (Use the shell or 'MAKE_SFX` to create self-extracting archives)
  886.  
  887. 7.0 TEMPORARY FILES
  888.  
  889. When creating or amending an archive LHarc creates temporary files in the
  890. same directory as the archive, unless told by means of the /w switch to
  891. write them elsewhere. These are:
  892.  
  893.         LHarc.)1(       Original archive, renamed.
  894.         LHarc.)2(       Work file used to create new archive.
  895.  
  896.         If a file with one of these file names already exists in the working
  897.         directory, then the behaviour of LHarc is unpredictable.
  898.  
  899. If the process is aborted by 'Ctrl-C' or through an error the original file
  900. can usually be recovered by renaming LHarc.)1(.    LHarc.)2( may also
  901. be usable though the last file written to it is likely to be incomplete.
  902.  
  903.         LHarc.TMP       Work file created for viewing by another utility.
  904.  
  905. 8.0 SHELLS AND COMMAND LINE INTERFACES
  906.  
  907. Shells make using LHarc easier by allowing choices to be set up from a
  908. menu though they may not enable all the facilities of LHarc to be used and
  909. may become out of date as LHarc itself is amended. ARCshell 3.1 gives good
  910. support to LHarc but is itself quite daunting to understand as a result.
  911. Other shells give more limited support.
  912.  
  913. Command line interfaces allow LHarc to be called from their command line
  914. and may allow the use of batch files or the recall of commands by
  915. scrolling back through the command list.
  916.  
  917. You may also set LHarc's default switches with the environment variable
  918. 'LHarc':
  919.  
  920.           SET LHarc=/we: /r
  921.  
  922.         will set drive E: as the working directory and archive all
  923.         files in recursive mode.
  924.  
  925. You may also specify LHarc's working directory with the environment
  926. variable 'TMP':
  927.  
  928.           SET TMP=E:
  929.  
  930.         but the /w switch will override this setting.
  931.  
  932.         Result Codes
  933.  
  934.         LHarc returns the following result codes to the parent process:
  935.  
  936.         0   Normally finished.
  937.  
  938.         1   Process finished with nonexistent file names ignored
  939.         during archiving or CRC error occurred during
  940.         un-archiving.
  941.  
  942.         2   Process terminated by fatal error; no archive created
  943.         or files moved.
  944.  
  945.         3   Unable to write temporary files into the archive. Work
  946.         file renamed to 'LHarc.)2(' and original archive
  947.         deleted.  Try renaming LHarc.)2( as your archive,
  948.         although it might be damaged.
  949.  
  950.  
  951.  
  952. 9.0 VERSION 2.20 and newer versions
  953.  
  954. The help screen, displayed by pressing <return> at the command line is as
  955. below:
  956. -------------------------------------------------------------------------------
  957.  
  958.  
  959.    LHarc Version 3.10 junior (Atari) - dedicated to an unknown genius
  960.    (c) Haruyasu Yoshizaki, 1988-1989, Grunenberg, Mandel, 1994
  961.  ================================================================ May 1994 ====
  962.  Syntax: LHarc [<command>] [{{-|/}{<switchs>[-|+|0-3|<options>]}}...] <archive>
  963.          [{<Drive>:[\]}|{<Base-Directory>\}] {[&|&-|~] <Paths/Files> ...}
  964.  ------------------------------------------------------------------------------
  965.   <Command>
  966.       a: Add files to archive           u: Update newer files to archive
  967.     f,r: Freshen/Re-construct archive   m: Move files to archive (means 'a -d')
  968.       d: Delete files from archive    e,x: Extract files from archive
  969.       p: DisPlay files on screen      l,v: List/Verbose list of archive
  970.       t: Test integrity of archive      c: Compress files in AFX-format
  971.  ------------------------------------------------------------------------------
  972.   <Switchs> (WARNING: The meaning of the d-switch has been completely changed)
  973.       r: Recursive expansion of dirs    w: Specify work-directory
  974.       x: Extend filenames               m: No Message at query
  975.       p: Distinguish pathnames          f: Include folders in archive
  976.       c: Skip time-comparison           i: Ignore attributes
  977.       a: Any attribute                  v: Display with external tool
  978.       n: Set process-indicator          h: Hold screen after finishing
  979.       t: Time-stamp of archive          y: Only files with 'changed' attribute
  980.       b: Clear 'Changed'-attribute      l: Use Larc compatible method
  981.       q: Suppress all messages (quiet)  o: Use LHarc 1.13 compatible method
  982.       u: Store - don't compress files   k: Header-level (0-2)
  983.       e: Include file-comments          z: Include archive-comment
  984.       d: Delete files after command     C: No crc-check during extraction
  985.       g: Extract archive in folder      j: Exclude empty files
  986.       5: Force LHarc 2.0x archive (lh5) 4: Store in Larc compatible method
  987.       s: Convert backslashs to slashs   P: Process-Indicator-Character
  988.       L: Limit memory-allocations       S: Case-Sensitive filenames
  989.       M: Maximum file-size              N: Only files newer than date ddmmyy
  990.       U: Store files uncompressed       R: Rename Unix-Files
  991.       I: Compress files to directory    B: Retain backup copy of archive
  992.       A: Add if file is not in archive  D: Delete if file is not specified
  993.       W: No wildcard-matching           X: Make relativ pathnames
  994.       Y: Encryption                     K: Acoustic signal after finishing
  995.       ?: Display helpscreen
  996.   path;\ Make relativ pathnames        ~,! Exclude files
  997.      &,@ Get file-list from file     &-,@- Get file-list from standard input
  998.  ==============================================================================
  999.   (You'll find a more detailed description in the documentation 'MANUAL.ENG')
  1000.  
  1001.   Yoshizaki  : Nifty-Serve  PFF00253
  1002.                oASCII-pcs   pcs02846
  1003.   Grunenberg : Christian Grunenberg @ S2 (Mausnet)
  1004.                Christian_Grunenberg@S2.maus.de (Inter-/Usenet)
  1005.  
  1006.  LHarc is a freeware-program. Freeware means that you can freely copy, test
  1007.  and use this programm. If you are using LHarc regularly, you should support
  1008.  the further development by sending me a suitable donation (a cheque or a postal
  1009.  money order about DM 25,- or $15). Thanx.
  1010.  
  1011.   Address:
  1012.  ----------
  1013.   Christian Grunenberg
  1014.   Traminerweg 5
  1015.   71717 Beilstein
  1016.   Germany
  1017.  
  1018.   Important:
  1019.  ------------
  1020.   Use this program at your own RISK! I do not provide any warranty about it!
  1021.  
  1022.  
  1023. -------------------------------------------------------------------------
  1024. The principal differences from older versions are as follows:
  1025.  
  1026. 9.1 Switches must come after the command before any name or path
  1027.     parameters.
  1028.     "0" and "1" usually have the same effect as "+" and "-".
  1029.     Without any of these characters the switch is turned on, no longer
  1030.     toggled.
  1031.  
  1032. 9.2 Unix wildcards may be used; as well as * and ?,
  1033.  
  1034.        [a-m] sets a range:
  1035.                 [a-m]*.* selects all files with names with initial letters
  1036.                 between a and m
  1037.        [a|m] or [am] sets a choice:
  1038.                 [a|m]*.* selects all files with initial letters a or m.
  1039.                 [am]*.* does the same and
  1040.                 [a-mv]*.* selects all files with names with initial letters
  1041.                 between a and m and those beginning with v
  1042.         [^a] excludes:
  1043.                 [^a-m]*.* selects all files with names with initial letters
  1044.                 NOT between a and m.
  1045.         As an alternative you can use ! or ~ to exclude files thus:
  1046.                 !*.ttp,[am]*.* excludes all .ttp files and all files
  1047.                 beginning with a or m
  1048.  
  1049. In most circumstances file/path names and wild cards may be chained
  1050. together with commas ie:
  1051.  
  1052.         "folder\*.ttp,*.prg"
  1053.  
  1054. selects all files with ttp and prg extenders in "folder" and has the same
  1055. effect as
  1056.  
  1057.         "folder\*.ttp folder\*.prg"
  1058.  
  1059. 9.3 <home> no longer works in input commands; files for archiving can only
  1060. be set by the <path> parameter. If extended filenames are set by the /x or
  1061. /r switches the whole path will be stored.  The new /I switch can be used
  1062. to force all files into a single directory with subdirectory names.
  1063.  
  1064. To store subdirectories relative to, ie starting from the end of the path
  1065. specified, for which the <home> parameter would have been used as in:
  1066.  
  1067.         a ~ /hr ~ path1\arc ~ a:path2\ ~ path3\*.prg
  1068.  
  1069. you may open the window a:path2\ and add the drive name 'a:' to the <path>
  1070. parameter as described in section 5.6:
  1071.  
  1072.         a ~ /hr ~ path1\arc ~ a:path3\*.prg
  1073.  
  1074. or use the right button to launch LHarc from an inactive window.
  1075.  
  1076. Alternatively, from version 2.22 on, the switch /X (store relative to
  1077. the given paths) suppresses the path name from the archive, while storing
  1078. subdirectory names
  1079.  
  1080.         a ~ /hrX ~ path1\arc ~ a:path3\*.prg
  1081.  
  1082. or inserting a ';' in the path suppresses the part of the path before the
  1083. semi-colon, ie
  1084.  
  1085.     a ~ /hr ~ path1\arc ~ e:\path2\folder1;\folder2\
  1086.                           ^^^^^^^^^^^^^^^^
  1087.                           | This part of the path won't be stored !
  1088.  
  1089. 9.4 Redirection: '>>' is now officially supported as well as '>'.
  1090. Indirection using '<' to read instructions from a file is not yet
  1091. implemented, but using '@' or '&' allows a list of files to be read in so
  1092. the command line
  1093.  
  1094.     v /h arc  &comm
  1095.  
  1096. will view the archive "arc" listing only the files named in the file "comm".
  1097. Final colons are no longer needed ">prn" and ">aux" will now work.
  1098.  
  1099. 9.5 switches - only changes from 2.01 are described
  1100.  
  1101. /r[-|+|2]       r2 is now acknowledged to be redundant; it will do the same
  1102.                 as /r.
  1103.  
  1104. /f[-|+|2|3]     includes folders in archives as files, not just as part of
  1105.                 extended file names, apparently for Unix compatibility.
  1106.  
  1107.                 Version 2.22 or newer:
  1108.                 /f2 Wildcard-Matching also when including folders.
  1109.                 /f3 as /f2, but only compress folders.
  1110.  
  1111. /g[-|+]         creates a folder with the archive name and writes output
  1112.                 files to it (as UNLZH does)
  1113.  
  1114. /x[-|+|2|3]     the new options 2,3 force initial backslashes,
  1115.                 representing the root directory, on and off respectively
  1116.  
  1117. /p[-|+]         as before
  1118.  
  1119. /I(dir\)        Stores all archived files with the extended name
  1120.                 'dir\filepath\file.ext'. This switch sets /x3.
  1121.                 Setting the switch /x0 will stripp the original filepath.
  1122.  
  1123. /n[-|+|2|3]     Process indicators s before
  1124.                 /n2 shows progress a % instead of a row of *
  1125.                 /n3 shows a rotating /
  1126.  
  1127. /q[-|+|2]       use this instead of /d to suppress all screen output;
  1128.  
  1129.                 Version 2.22 or newer:
  1130.                 /q2 only suppresses the title output.
  1131.                 see /d below
  1132.  
  1133. /d[-|+]         deletes existing files (like the m command) but also
  1134.                 deletes them from archives when extracting
  1135.  
  1136. /D[-|+]         Version 2.32 or newer:
  1137.                 Will delete all files in the archive not specified by
  1138.                 the user or found by LHarc.
  1139.  
  1140. /A[-|+]         Will only add a file if the file is not already in the
  1141.                 archive.
  1142.  
  1143. /e[-|+]         As before
  1144.  
  1145. /z[-|+]<file>   Like /e, but the comment relates to the archive as a whole
  1146.                 not to individual files.
  1147.  
  1148.                 Version 2.22 or newer:
  1149.                 If <file> is specified, the comment is read from <file>,
  1150.                 not from standard input.
  1151.  
  1152. /m[-|+|2|3]     Version 2.22 or newer:
  1153.                 /m2 suppresses only the message 'Create folder ?'
  1154.                 /m3 suppresses only the message 'Overwrite file ?'
  1155.  
  1156. /Y<key>         Version 2.3:
  1157.                 Encrypts files during compression using <key> as a pass-
  1158.                 word and decrypts files during extraction.
  1159.  
  1160. /t
  1161. /w              All as before
  1162. /c
  1163.  
  1164. /C[-|+]         Omits the checksum test when extracting, speeding up the
  1165.                 process and allowing corrupt files to be expanded.
  1166.  
  1167. /v[-|+|2|3]<file>
  1168.                 Less.ttp is no longer taken as a default; you must write
  1169.                 something like "/vd:\view.ttp". /v2 suppresses archive
  1170.                 and file names from the output and /v3 acts like /qv2
  1171.                 suppressing all screen output but the file contents
  1172.                 themselves. As before a separate switch /v2,3 is needed for
  1173.                 these options, following the first one.
  1174.  
  1175. /h              As before
  1176.  
  1177. /N<ddmmyy>      Only selects files later than the date ddmmyy.
  1178.  
  1179. /i[-|+|2|3]     Extracts files, ignoring all attributes and with the
  1180.                 current date and time.
  1181.  
  1182.                 Version 2.22 or newer:
  1183.                 /i2 only current date and time.
  1184.                 /i3 ignoring all attributes.
  1185.  
  1186. /y              As before
  1187.  
  1188. /b              Resets only the changed-attribute
  1189.  
  1190. /B              Retains a back-up copy of an amended archive with the
  1191.                 extender.bak, overwriting any previous .bak file with the
  1192.                 same name. Works with input commands and when the /d switch
  1193.                 is set.
  1194.  
  1195. /l[-|+|2]       Version 2.3
  1196.                 /l2 force Larc (lh0) compression even if the archive will
  1197.                 get longer (disables /U)
  1198.  
  1199. /o[-|+|2]       Version 2.3
  1200.                 /o2 force LHarc (lh1) compression even if the archive will
  1201.                 get longer (disables /U)
  1202.  
  1203. /5[-|+|2]       Forces lh5 mode on all files including small files as
  1204.                 before and also archive files which would otherwise be
  1205.                 stored without compression (see /u). Creates smallest archives
  1206.                 possible.
  1207.  
  1208.                 Version 2.3
  1209.                 /52 force LHA (lh5) compression even if the archive will
  1210.                 get longer (disables /U)
  1211.  
  1212. /W[-|+]         No wildcard-matching except to exclude files and with
  1213.                 switch /U (Version 2.22 or newer)
  1214.  
  1215.                 Version 2.32
  1216.                 /W2 disable multiple files like 'file1.ext,file2.ext'
  1217.  
  1218. /X[-|+]         Store paths relative to specified paths (see 9.3.)
  1219.                 (Version 2.22 or newer)
  1220.  
  1221. /K[0-3]         Acoustic signal after finishing (up to 3 seconds)
  1222.                 (Version 2.22 or newer)
  1223.  
  1224. /k[0-2]         Allows the type of header to be set:
  1225.                 ie levels
  1226.                 /k0 or /k:      (compatible as with the old /k), /e and /z
  1227.                                 are disabled
  1228.                 /k1:            (standard)
  1229.                 /k2             (extended)
  1230.  
  1231. /u              As before but versions newer than 2.20 will not by default
  1232.                 compress archive files with the extenders
  1233.                 ARC/ARJ/LZH/LZS/LHA/TAZ/ZOO/ZIP/TGZ/GZ/GIF/JPG/HPK
  1234.  
  1235. /U[-|+]<filespec(s)>
  1236.                 Allows only specific file(types) identified by wildcards to
  1237.                 be saved without compression, others are compressed.
  1238.  
  1239.                 Multiple specifications can be chained using commas:
  1240.  
  1241.                         /U*.arc,*.lzh,readme
  1242.  
  1243.                 This switch is meaningless with /5,/Y,/52,/l2 and /o2
  1244.  
  1245. /4[-|+]         saves without packing but in Larc compatible format. (lz4)
  1246.  
  1247. /P<chars>       Allows the process indicators * and . to be changed.
  1248.  
  1249. /L[0-2]         Limits the memory used by LHarc, mainly for multi-tasking.
  1250.                 /L0 - use 50% of available memory (max. 900 KByte)
  1251.                 /L1 - use only about 250-450 KByte memory
  1252.                 /L2 - use all memory available (max. 2 MByte)
  1253.  
  1254. /M<size>        Sets a limit to the size of file to be archived or extracted
  1255.  
  1256. /S[-|+|2]       Allows LHarc to distinguish always between upper and lower
  1257.                 case filenames
  1258.  
  1259.                 Version 2.22 or newer:
  1260.                 /S2 - no case-sensitivity
  1261.  
  1262. /R              LHarc converts Unix filenames automatically: this option
  1263.                 allows the user to override LHarc's proposals.
  1264.  
  1265. /j              ignores empty files
  1266.  
  1267.  
  1268. 9.6 New environment-variables
  1269.  
  1270. TMPDIR      same as TMP
  1271.  
  1272. UNPACKED    same as switch /U
  1273.  
  1274. COLUMNS     number of columns the screen is able to display
  1275.  
  1276. LHARCPAR    if set, all arguments are printed before executing the command
  1277.             (Version 2.22 or newer)
  1278.  
  1279. ARCTEMP     same as TMP (Version 2.3 or newer)
  1280.  
  1281. LHA         same as LHARC (Version 2.3 or newer)
  1282.  
  1283. LHARCDIR    same as parameter 'DRIVE/HOME-DIRECTORY' (see 5.5)
  1284.             (Version 2.31 or newer)
  1285.  
  1286.  
  1287. 9.7 Return-Codes (Version 2.22 or newer)
  1288.  
  1289.     Bit 0  (1)    - Bad Table
  1290.     Bit 1  (2)    - CRC Error
  1291.     Bit 2  (4)    - Write-Error
  1292.     Bit 3  (8)    - Read-Error
  1293.     Bit 4  (16)   - Can't rename file or create folder
  1294.     Bit 5  (32)   - Can't copy/create temp. archive
  1295.     Bit 6  (64)   - Not implemented command
  1296.     Bit 7  (128)  - No LHarc-archive/no archivname
  1297.     Bit 8  (256)  - File not found/No file specified
  1298.     Bit 9  (512)  - Not enough memory
  1299.  
  1300.     Version 2.31 or newer:
  1301.     Bit 10 (1024) - Garbage found and skipped
  1302.     Bit 11 (2048) - Garbage found at the archive-end
  1303.  
  1304.  
  1305. 9.8 Temporary files
  1306.  
  1307. LHA)(T)(.XXX    original archive and work files
  1308. __temp__.lzs    workfile during AFX compression (Version 2.22 or newer)
  1309.  
  1310.  
  1311. ACKNOWLEDGMENTS: the material for this document was obtained and in some
  1312. cases quoted from Theo Runia's MAN.ENG and Thomas Quester's MAN.DEU and
  1313. related sources with additional material for versions newer than 2.20 from
  1314. Christian Grunenberg.
  1315.  
  1316. If you have any comments or corrections please contact:
  1317.  
  1318. Alan Kennedy 107 Fernside Road London SW12 8LH
  1319.  
  1320. © Alan Kennedy  12/08/93
  1321.  
  1322. This document may be freely distributed on disk but may not be published in
  1323. printed form without the author's permission.
  1324.  
  1325.