home *** CD-ROM | disk | FTP | other *** search
-
- ΓòÉΓòÉΓòÉ 1. Title Screen ΓòÉΓòÉΓòÉ
-
- LH/2 converts a set of files into a single file. This single "file
- archive" is smaller than the sum of the original files, since data
- compression is used. LH/2 can later be used to extract the files in
- their original form.
-
- Since the "file archive" created by LH/2 stores related files in a
- single package, it is particularly well suited for transferring files
- through a modem. This will ensure that all necessary files are
- included, and that none were forgotten. Since LH/2 keeps a "check
- sum", it will also verify that the files were received correctly. As
- an added bonus, since the files are compressed, it will take less
- time to send the file.
-
- If the person on the receiving end does not have LH/2, the person
- sending may choose to turn the archive into a "self-extracting"
- executable program.
-
-
- ΓòÉΓòÉΓòÉ 2. Copyright Notices ΓòÉΓòÉΓòÉ
-
-
- (c) 1991-93 A:WARE Incorporated.
- by Peter Fitzsimmons
- All Rights Reserved.
-
- All commercial restrictions have been lifted with this 2.20 release.
- Although A:WARE Inc. still owns the source code, the executable is
- completely public domain. Any person or company can use it for internal
- use, software installation or distribution, backup, etc.
-
- A:WARE Inc. may soon, however, sell a "compression kit" for
- those companies that insist on having source code, or that want to
- build compression into their own OS/2 software installation/distribution
- programs.
-
- A:WARE Inc.
- 6056 Cayeswood Court
- Mississauga Ontario
- Canada L5V-1B1
-
- Voice: (416)858-3222
- FidoNet: 1:250/292
- BBS Sol3: (416)858-8488
-
-
- ΓòÉΓòÉΓòÉ 2.1. Disclaimer ΓòÉΓòÉΓòÉ
-
- DISCLAIMER
-
- The Program is supplied "AS IS" without any warranty of any kind,
- either expressed or implied, including, but not limited to, the
- implied warranties of merchantability and fitness for a particular
- purpose.
-
- In no event shall A:WARE INC be liable for any damages, either
- direct or consequential, caused by the use, or inability to use,
- this program, even if A:WARE INC has been advised of the
- possibility of such damages.
-
-
- ΓòÉΓòÉΓòÉ 3. General Overview ΓòÉΓòÉΓòÉ
-
-
- ΓòÉΓòÉΓòÉ 3.1. Mandate, 32 bit version ΓòÉΓòÉΓòÉ
-
- Mandate, 32 bit version.
-
-
- - Maintain the lh/2 tradition of an easy to use, free, public domain
- file format based archiver for OS/2. One of the reasons I wrote
- LH-ANSIC in the first place was because ARC/PAK/ZIP/ZOO/LHA were too
- complicated. I have resisted adding not-completely-necessary features
- in order to keep the "syntax screen" very small.
-
- Despite the drastic internal changes to LH/2, I am very pleased to
- report that I only added one command line switch (/E).
-
- - All commercial restrictions have been lifted with the 2.20 release.
- Although A:WARE Inc. still owns the source code, the executable will
- be completely public domain. Any person or company can use it for
- internal use, software installation or distribution, backup, etc.
-
- I may soon, however, sell a "compression kit" for those companies
- that insist on having source code, or that want to build compression
- into their own OS/2 software installation/distribution programs.
-
-
- ΓòÉΓòÉΓòÉ 3.2. Program History ΓòÉΓòÉΓòÉ
-
-
- LH/2 V2.19 32 bit beta. 92/12/17
-
- Pre-Release 32 bit beta. Program history for this release will be covered
- under 'New Features' etc.
-
- LH 2.14 Mon 03-30-1992
-
- Wow; two releases in the same month. Bending to popular demand (all
- two of you!), Lh2 will now preserve case. LH2 is still case
- insensitive when searching for files however.
-
- In compatability mode (/c), file names are stored in upper case.
-
- LH 2.13 Tue 03-10-1992
-
- So solve a few problems with it's interaction with Squish, LH will
- now exit with a non-zero ERRORLEVEL if:
-
- 1) No files are extracted.
- 2) An invalid LZH header is encountered.
-
- Archives with -lh4- type files are now supported (for decompression) by
- using the -lh5- code, which seems to work fine.
-
- A new option: /m. This will cause only files with their archive bits
- set to be stored (during an ADD or MOVE operation). The archive bit is
- reset if all goes well.
-
- LH 2.12
-
- During compression, LH 2.12 will recognize that there is no space left
- on a disk for '-lh5-' compression. (It always worked correctly for
- -lh1-).
-
- If a file with an unknown stowage is encountered, LH 2.12 will no
- longer stop at a prompt if the /o option is specified.
-
- Wed 05-22-1991
-
- Version 2.11 is a very small bug fix. When Adding/Moving files,
- LH.EXE will now correctly exit with an ERROREVEL of 0 if successful.
-
-
- Original 2.00 Documentation (LH2.DOC), Mon 04-29-1991
-
- Welcome to version 2.00 of LH2. The last version that most of you
- had access to was 0.80. I've jumped all the way to 2.00 so that an
- association can be made with LHA 2.x, the DOS program which LH2 is
- a clone of. With 0.80, I thought LH2 was "functionally stable";
- But then Haruhiko Okumura had to go and create a better compression
- algorithm! This new version, 2.00, supports that new compression
- method and has a few other small changes as well.
-
- Notes:
-
- o This new version is (on many files) faster than the old version
- while compressing. It is always faster at decompression (2 to
- 3 times faster). Files that contain many repeated bytes/strings
- (such as text files) compress the fastest (almost as fast as Zip
- imploding). Files that are more random compress slower; a very
- large and very random file may compress slower than the old
- version of LH.
-
- o It is coded all in C, and is therefore slower than Yoshi's DOS
- version (LHA.EXE) which is coded in mostly assembly. My tests
- show LH2 to be a little more than 1/2 the speed while
- compressing, and about 2/3 the speed at decompressing. I can
- live with it.
-
- o /c causes LH2 to use the old -lh1- compression method that prior
- versions of LH2, and LHARC 1.x, used.
-
- o the new 'D' command erases files from an *.lzh archive.
-
- o When extracting files from an archive, the disk space for the
- destination file is allocated at the time the file is opened.
- This ensures that as little fragmentation as possible will occur
- on the file.
-
- o Specifying a drive with no directory (LH A FOO.LZH C:*.*) will
- use the root directory, rather than the current directory on
- that drive. Fixed.
-
- o The size of LH.EXE has grown quite a bit (from 38k to 48k) since
- it now has to support both the old and new
- compression/decompression code.
-
- o I've moved. My new phone number is near the bottom of this
- document. I've also added a disclaimer there.
-
- o The new compression code (for -lh5- compression) was lifted from
- AR02.LZH, by Haruhiko Okumura. Thanks once again Haruhiko! I
- can't make heads or tails of Yoshi's code.
-
-
- LH2.DOC, Mon 03-11-1991
- Version 1.00 fixes a small bug: If you tried to L)ist the contents
- of an *.lzh file that did not exist, no error message was printed.
-
- LH2.DOC, Tue 01-08-1991
-
- This version, 0.80, is the first release that supports EAs
- (Extended Attributes) and (to some degree) 'long' file names. If
- there are no problems with it, it will be renamed 1.00 and
- forgotten about.
-
- EAs are supported in the following manner. During the file search
- stage (where LH creates a list of all matching files to be sorted),
- a pseudo-archive named EA.LZH is created, if needed. Using the
- same names as the original files, EA.LZH contains the associated
- extended attributes. EA.LZH is placed in the archive along with the
- other files. Therefore, anyone who does not have this version of
- LH2 can still apply the EAs to their respective files by using the
- OS/2 EAUTIL.EXE file. A file named '!readme.ea' is imbedded in
- EA.LZH, which supplies instructions to achieve this.
-
- If you use this version of LH2 to extract archives (and do not use
- the /i switch), EA.LZH will be extracted automatically and applied
- to the files, then erased.
-
-
- Notes:
-
- o This version, and future versions, require OS/2 1.20 or newer.
-
- o Wildcards should work just like 1.20 wildcards. (Let me know
- if you find an inconsistency).
-
- o t = test option is new.
-
- o /i. This option causes EAs not to be stored for the Add and
- Move commands. When used with the eXtract command, /i causes
- EA.LZH to be extracted, but not applied or erased.
-
- o LH2 does not support directory EAs, only file EAs.
-
- o do NOT update an lzh file that was already stored with EAs
- (since ea.lzh will already be in the lzh file).
-
- o The EAs are applied after ALL of the files have been extracted.
- A side effect: If you do not extract a file that has an EA, by
- answering 'n' to the "File '<file>' already exists. Overwrite?"
- prompt, the EA WILL STILL BE JOINED to the old file on your
- disk.
-
- o Longnames are supported -- sort of. The total length of a file
- name (including path) must be less than or equal to 74 bytes.
- Longnames are stored without modification in the lzh header,
- therefore they will fail to extract on a FAT partition and/or
- under DOS. Therefore, the onus is on the user to enforce normal
- (8.3) file names, so as not to inconvenience other users. It is
- HIGHLY recommended that you don't use longnames in files you
- upload to BBS's.
-
-
- LH2.DOC, Tue 03-06-1990
-
- LH2 is an OS/2 clone of the MSDOS program LHARC.
-
- It is based on the source code I released as "LH-ANSIC.LZH", the
- ansi-c version of a simplified LHARC compatible compressor/decompressor.
- This program is the same as LH-ANSIC.LZH, with the following exceptions:
-
- o The Move command has been added. (ADD files, then erase them).
-
- o Wildcards are supported from the command line during an ADD/MOVE
- function.
-
- o The /s command will cause LH2 to "walk" down directory trees.
-
- For a complete list of functions, run LH.EXE without any arguments.
-
- NOTE: OS/2 1.20's long file names and EAs are *NOT* supported in
- this release. This would make the program incompatible with the
- original LHARC. I may change this in the near future though.
-
- Trying to "BIND" this program will cause unpredictable results when
- run in DOS mode. (DosFindFirst()/Next() can not be supported in DOS
- mode if used recursively).
-
-
- ΓòÉΓòÉΓòÉ 3.3. Bug Fixes ΓòÉΓòÉΓòÉ
-
- Bugs Fixed from 2.14
-
- - will not abort when it can't open a file, such as SWAPPER.DAT, when
- compressing.
-
- - When compressing, /A (store file attributes (system, hidden,
- readably)) was unpredictable if the current dir was not the root dir.
- Fixed.
-
- - LH/2 now supports the maximum OS/2 path length: 260 bytes.
-
- As was documented, because of the design of the original *.LZH file
- header, LH/2 v2.14 could only handle file names that were 74 bytes or
- less. Unfortunately, LH/2 did not enforce this. If you saved a file
- > 74 bytes, the header "overflowed" into the file's data, destroying
- any chances of extracting the file. This only burned one person, to
- my knowledge (sorry Scott!). That incident just happened a few weeks
- ago, and is what got me working on LH/2 again!
-
- Long file names (> 64 bytes) are now stored differently. They are
- stored in an "extended header"; a feature that was new to LHA 2.00
- (LHA is the dos program that LH/2 grew from).
-
-
- ΓòÉΓòÉΓòÉ 3.4. New Features (ver 2.20) ΓòÉΓòÉΓòÉ
-
-
- New Features (ver 2.20)
-
- - Support for file names up to 260 characters.
-
- - Extended Attributes (EA) are stored differently. The old way was
- to create a file named EA.LZH inside of the archive, which had an
- entry for each file that had an EA. This worked fine until you
- added a new file to an existing archive -- at which point the old
- EA.LZH would be wiped out with the new one. This will no longer
- happen.
-
- The new method is not compatible with old LH/2. For this reason,
- new LH/2 builds a batch file called "Apply-EA.Cmd" in the archive,
- which the end user could run to use OS/2's "eautil.exe" program to
- join the EAs to the just-extracted files.
-
- NOTE: Apply-EA.Cmd only works for files, not directories. If you
- want to remain compatible with old-lh/2, do not distribute LZH
- archives that have dirs in them.
-
- New LH/2 will recognize the old EA.LZH method, and apply the EAs
- accordingly.
-
- Skip ahead to the next point unless you care about the technical
- details of how EAs are now stored.
-
- All EAs are in 16 bit OS/2 format. Even OS/2 2.0's EAUTIL.EXE
- stores them in this format (probably for the same compatibility
- reasons that I did). There is only a slight difference in the way
- OS/2's "FEA2LIST" structure differs from OS/2 1.x's "FEALIST".
-
- Each file EA (directory EAs are stored differently) looks (to
- LHA/V2.14) as a normal file. An EA file is always stored in a
- subdirectory called EAS (this is true even if you did NOT use /s).
-
- For example:
-
- EAS\file1 -- this is the ea for file1
- file1 -- this is file1
- Src\EAS\file1 -- this is the ea for src\file1
- src\file1 -- this is src\file1
-
- I had originally discounted this method; if you used another archive
- program that changed the order of the files, everything would be
- broken.
-
- However, now I store (along with the EAS file) the name of the
- parent file in an extended header; so the actual name or order of
- the EAS\* file is irrelevant. LH/2 first extracts all non-ea files,
- than goes back to the beginning of the *.lzh file and "extracts"
- only EA files. The extended headers LH/2 supports are:
-
- Type Description
- 0 CRC of header + extended header
- (as apposed to simple checksum in normal *.lzh header).
- 1 Extended file name.
- 2 Extended dir name to which [extended] file name is appended.
- 79 (ascii 'O') --- LH/2 2.20 extension --- Name of Parent file
- this EA file applies to.
-
- The other method I was entertaining (storing the EA itself in an
- extended header) had a drawback that might hurt in the future: The
- maximum size of an extended header entry is 64K-2 bytes. EAs are
- currently limited to 64k, but that may change.
-
- - Directories are now stored as separate entities. This allows
- support for dirs that are empty, and dirs that have EAs. This is
- particularly important if you are trying to backup your OS/2 2.0
- Desktop directories.
-
- This feature is enabled with the new /E option.
-
- A dir is only stored only when ALL of the following are true:
-
- 1) /s is used.
- 2) /e is used.
- 3) It has an EA or it is empty.
-
- Dirs that are not empty, nor have an EA, are not stored because
- there is no reason to store them. Those dirs will be created
- automatically when a file is extracted there.
-
- Skip ahead to the next point unless you care about the technical
- details of how dirs are now stored.
-
- Dirs without EAs are stored as zero length files. The LZH field
- for the file attribute is set to 0x10.
-
- Dirs with EAs are stored, as above, with attribute 0x10 set.
- However, the regular "file data" is actually the EA. Example:
-
- Original Packed Rat Date Time Attr Type CRC Name
- -------- -------- --- ------- -------- ------ ----- ---- ----------------
- 1352 550 41% 92-12-17 3:54:38 .D.... -lh5- DBAA os!2 2.0 desktop
-
-
- Note that the 'D' bit is set. The extended attribute is,
- uncompressed, 1352 bytes. After decompressing this archive,
- a "DIR" command would list this:
-
- 12-13-92 3:36a <DIR> 1352 os!2 2.0 desktop
-
- - All files created by LH/2, when extracting, use the pre-allocate
- feature of the DosOpen() api, thus reducing fragmentation. In
- fact, you could use LH/2 as a "poor man's de-fraggmenter" if you
- wanted. Fragmentation is not very significant with HPFS.
-
- - When adding files to an existing archive, LH/2 no longer
- assumes that the files are sorted.
-
- LH/2 now sorts files based on "dir + filename", rather than just
- "filename" as it did before.
-
- When new files are added to an existing archive, they are added at
- the end (if they are NEW to the archive; if they replace a file,
- they will be in the old file's position).
-
- - When /E is used, LH/2 will remove an empty dir even if no files
- from that dir were compressed. The old way only removed a dir if at
- least one file was compressed from it.
-
-
- ΓòÉΓòÉΓòÉ 4. Program Documentation ΓòÉΓòÉΓòÉ
-
- ΓûêΓûÇΓûÇΓûÇΓûÇΓûÇΓûÇΓûÇΓûÇΓûÇΓûÇΓûÇΓûÇΓûÇΓûÇΓûÇΓûÇΓûÇΓûÇΓûÇΓûÇΓûÇΓûÇΓûÇΓûÇΓûÇΓûÇΓûÇΓûÇΓûÇΓûÇΓûÇΓûÇΓûÇΓûÇΓûÇΓûÇΓûÇΓûÇΓûÇΓûÇΓûÇΓûÇΓûÇΓûÇΓûÇΓûÇΓûÇΓûÇΓûÇΓûÇΓûÇΓûÇΓûÇΓûÇΓûÇΓûÇΓûÇΓûÇΓûê
- Γûê Lh2 (Compress files) Peter Fitzsimmons 93/02/01 Γûê
- Γûê Version 2.20 Γûê
- Γûê Usage: LH <cmd> <archive> [file1 file2 ...] [options] Γûê
- Γûê Purpose: Collect and compress files. Γûê
- Γûê Commands: A - Add files to archive. Γûê
- Γûê M - Move files to archive (erases files). Γûê
- Γûê L - List files in archive. Γûê
- Γûê X - Extract files from archive. Γûê
- Γûê T - Test - Extract files to NUL. Γûê
- Γûê D - Delete files from archive. Γûê
- Γûê Options (may appear anywhere on the command line): Γûê
- Γûê /v - verbose (L command) Γûê
- Γûê /a - maintain file attributes. (A, M or X) Γûê
- Γûê /s - collect/extract subdirs. (A, M or X) Γûê
- Γûê /o - no prompts. (L or X) Γûê
- Γûê (When used with X, /o will overwrite Γûê
- Γûê existing files without prompting) Γûê
- Γûê /i - ignore EAs. (A, M or X) Γûê
- Γûê /e - save/rest empty dirs & dir EAs(A, M or X) Γûê
- Γûê /m - store modified files only (A or M) Γûê
- Γûê /h - additional information. Γûê
- ΓûêΓûäΓûäΓûäΓûäΓûäΓûäΓûäΓûäΓûäΓûäΓûäΓûäΓûäΓûäΓûäΓûäΓûäΓûäΓûäΓûäΓûäΓûäΓûäΓûäΓûäΓûäΓûäΓûäΓûäΓûäΓûäΓûäΓûäΓûäΓûäΓûäΓûäΓûäΓûäΓûäΓûäΓûäΓûäΓûäΓûäΓûäΓûäΓûäΓûäΓûäΓûäΓûäΓûäΓûäΓûäΓûäΓûäΓûäΓûê
-
-
- ΓòÉΓòÉΓòÉ 4.1. Commands ΓòÉΓòÉΓòÉ
-
-
- ΓòÉΓòÉΓòÉ 4.1.1. A - Add files to archive. ΓòÉΓòÉΓòÉ
-
- Using the 'A' command will create an archive file if one does not exist already,
- or will append to one if it already exists.
-
- Example:
-
- [C:\] lh32 a xxx yyy (xxx is archive name, yyy is files to archive)
-
- LH2 V2.20 - Copyright (c) 1989-1993 A:Ware Inc.
-
- Max files = 13107
- <--- This will show maximum allowable files per archive.
-
- Creating temp file AAABEB.TMP
- <--- This will only display during UPDATE for file integrity purposes.
-
- CREATING: test.lzh
- <--- This will either show CREATING or UPDATING
-
-
- Original Packed Rat Date Time Attr Type CRC Name
- -------- -------- --- ------- -------- ------ ----- ---- ----------------
- xx% 23654 9146 39% 93-01-16 16:29:56 ...... -lh5- ADC5 lh2.ipf
- -------- -------- --- ----------------
- 23654 9146 39% 1 files.
-
- The xx% will show percentage increments for the duration of the operation.
-
-
- Options available with this command:
-
- /a - store file attributes
- /s - store/recurse subdirectories
- /i - ignore EAs
- /e - save empty directories and/or directory EAs
- /m - store modified files only
-
-
- ΓòÉΓòÉΓòÉ 4.1.2. M - Move files to archive (erase files). ΓòÉΓòÉΓòÉ
-
- Using the 'M' command will create an archive file if one does not exist already,
- or will append to one if it already exists.
-
- Once the archive is complete, the original files will be deleted.
-
- Example:
-
- [C:\] lh32 M xxx yyy (xxx is archive name, yyy is files to archive)
-
- LH2 V2.20 - Copyright (c) 1989-1993 A:Ware Inc.
-
- Max files = 13107
- <--- This will show maximum allowable files per archive.
-
- Creating temp file AAABEB.TMP
- <--- This will only display during UPDATE for file integrity purposes.
-
- CREATING: test.lzh
- <--- This will either show CREATING or UPDATING
-
-
- Original Packed Rat Date Time Attr Type CRC Name
- -------- -------- --- ------- -------- ------ ----- ---- ----------------
- xx% 23654 9146 39% 93-01-16 16:29:56 ...... -lh5- ADC5 lh2.ipf
- -------- -------- --- ----------------
- 23654 9146 39% 1 files.
-
- The xx% will show percentage increments for the duration of the operation.
-
-
- Options available with this command:
-
- /a - store file attributes
- /s - store/recurse subdirectories
- /i - ignore EAs
- /e - save empty directories and/or directory EAs
- /m - store modified files only
-
-
- ΓòÉΓòÉΓòÉ 4.1.3. L - List files in archive. ΓòÉΓòÉΓòÉ
-
- Using the 'L' option will list the original file
- size, the file date, and the file name to your screen.
-
- This example was invoked with the following command:
-
- [C:\] LH32 L ARCHIVE.LZH
-
- Listing archive: C:\ARCHIVE.LZH
-
- Original Date Name
- -------- -------- -----------------------------------------
- 21578 92-12-27 file.txt
- -------- -----------------------------------------
- 21578 1 files.
-
- Options available with this command:
-
- /v - verbose
-
-
- ΓòÉΓòÉΓòÉ 4.1.4. X - Extract files from archive. ΓòÉΓòÉΓòÉ
-
- Using the 'X' command will extract a file(s) from an archive.
-
-
- [C:\]LH2 X LH2INF
- <--- May contain wildcards, multiple files, etc.
-
-
-
- LH2 V2.20 - Copyright (c) 1989-1993 A:Ware Inc.
-
- Extracting archive: C:\lh2\LH2INF.LZH
- Original Date Name
- -------- -------- -----------------------------------------
- 21578 92-12-27 test.exe
- -------- -------- -----------------------------------------
- 21578 1 files.
-
- Applying Extended Attributes from 'C:\lh2\LH2INF.LZH':
-
- If any Extended Attributes are attached to the file, they will
- be extracted and attached automatically.
-
- Options available with this command:
-
- /a - restore file attributes
- /s - extract into sub-directories
- /o - no prompts (Overwrite existing files without asking)
- /i - don't restore EAs
- /e - restore empty dirs and dir EAs
-
-
- ΓòÉΓòÉΓòÉ 4.1.5. T - Test - Extract files to NUL. ΓòÉΓòÉΓòÉ
-
-
- Using the 'T' command will extract a file(s) from an archive to NUL. You will still
- see the incremental percent sign '%' but no files will be created in your
- current directory. It is assumed the archive is ok if the file(s) extract
- completely without errors.
-
-
- ΓòÉΓòÉΓòÉ 4.1.6. D - Delete files from archive. ΓòÉΓòÉΓòÉ
-
- Using the 'D' command will delete file(s) from an archive.
-
- A temporary file with the extension of '.$LH' will be created and deleted if the
- program completes successfully.
-
-
- [C:\]LH2 D LH2INF *.lst
- <--- May contain wildcards, multiple files, etc.
-
-
- ΓòÉΓòÉΓòÉ 4.2. Options ΓòÉΓòÉΓòÉ
-
-
- ΓòÉΓòÉΓòÉ 4.2.1. /v - verbose ΓòÉΓòÉΓòÉ
-
- This option will give you more statistics about the file during the operation, ie;
- time and date information, ratios, etc.
-
-
- ΓòÉΓòÉΓòÉ 4.2.2. /a - maintain file attributes. ΓòÉΓòÉΓòÉ
-
- This option will extract/store file attributes:
-
- When the List command is used, LH/2 uses the following characters
- to distinguish file attributes:
-
- 'H' for hidden.
- 'R' for write-only.
- 'S' for system.
- 'A' for archive.
-
- These dos-style file attibutes should not be confused with OS/2 Extended
- Attributes (EAs). EAs are used to store information such as icons,
- bitmaps, file descriptions, etc.
-
- For more information about file attributes see the OS/2 on-line
- reference for the 'ATTRIB.EXE' program.
-
-
- ΓòÉΓòÉΓòÉ 4.2.3. /s - collect/extract subdirs. ΓòÉΓòÉΓòÉ
-
- This option will extract/store subdirectory information. If the directory does
- not exist when you are extracting, you will be prompted if you wish to
- create the directory (the /O option will cause the directories to be created
- without prompting).
-
-
- ΓòÉΓòÉΓòÉ 4.2.4. /o - no prompts. ΓòÉΓòÉΓòÉ
-
- This option will supress all questions - allowing for unattended operation.
-
- During Listing, this will prevent the "More?" prompt.
-
- During Extraction, this will cause directories to be created
- automatically, and existing files to be overwritten.
-
-
- ΓòÉΓòÉΓòÉ 4.2.5. /i - ignore EAs. ΓòÉΓòÉΓòÉ
-
- This option will, when extracting or archiving, will ignore all Extended
- Attributes for files.
-
- Therefore, when used with the ADD command, EAs will not be stored in
- the archive.
-
- When used with the EXTRACT command, any EAs in the archive will not
- be applied to their associated files.
-
-
- ΓòÉΓòÉΓòÉ 4.2.6. /e - save/restore empty directory & dir EAs. ΓòÉΓòÉΓòÉ
-
- This option will extract/store empty directories and directory Extended
- Attributes.
-
-
- ΓòÉΓòÉΓòÉ 4.2.7. /m - store modified files only. ΓòÉΓòÉΓòÉ
-
- This option will only store files that have the 'A' (archive) attribute set.
-
- After successful storage, LH/2 resets the 'A' (archive) attribute.
-
- OS/2 automatically sets the 'A' attribute whenever a file is modified.
-
-
- ΓòÉΓòÉΓòÉ 4.2.8. /h - additional information. ΓòÉΓòÉΓòÉ
-
- Examples:
-
- 1) LH2 A PROGRAMS \usr\*.c D:\*.h /s
-
- Collect all *.c files from \usr (and children of \usr), as well
- as all of the *.h files from every directory on drive D:.
-
- 2) LH2 X PROG*
-
- Extract all archives matching prog*.lzh into the current dir.
- Any path information in the archives will be ignored.
-
- 3) LH2 X PROG* e:\home *.c
-
- As in 2, but extract files into E:\HOME (dir must exist). Only
- extract files matching *.c.
-
- 4) LH2 X PROG* e:\home *.c /s
-
- As in 3, but path information WILL be kept. Directories will be
- created off of e:\home as needed.
-
- 5) LH2 X PROG* e:\home src\*.c /s
-
- As in 4, but only files that were collected from a src\
- subdirectory will be extracted.
- ie:
-
- In LZH file Extracted to
- ----------- -------------
- read.c NOT extracted.
- work\test.c NOT extracted.
- work\src\swell.c e:\home\work\src\swell.c
- buggy\work\src\turbo.c e:\home\buggy\work\src\turbo.c
-
-
- ΓòÉΓòÉΓòÉ 5. SE.EXE The Self Extracting Program ΓòÉΓòÉΓòÉ
-
-
- ΓûêΓûÇΓûÇΓûÇΓûÇΓûÇΓûÇΓûÇΓûÇΓûÇΓûÇΓûÇΓûÇΓûÇΓûÇΓûÇΓûÇΓûÇΓûÇΓûÇΓûÇΓûÇΓûÇΓûÇΓûÇΓûÇΓûÇΓûÇΓûÇΓûÇΓûÇΓûÇΓûÇΓûÇΓûÇΓûÇΓûÇΓûÇΓûÇΓûÇΓûÇΓûÇΓûÇΓûÇΓûÇΓûÇΓûÇΓûÇΓûÇΓûÇΓûÇΓûÇΓûÇΓûÇΓûÇΓûÇΓûÇΓûÇΓûÇΓûê
- Γûê Lh/2 (Self Extractor) Peter Fitzsimmons 93/02/01 Γûê
- Γûê Version 2.20 Γûê
- Γûê Usage: prog.exe [file1 file2 ...] [options] Γûê
- Γûê Purpose: Extract compressed files. Γûê
- Γûê Options: /l - list only (do not extract) Γûê
- Γûê /t - test only (do not extract) Γûê
- Γûê /v - verbose Γûê
- Γûê /a - set file attributes (hidden/system/etc) Γûê
- Γûê /o - overwrite existing files without asking Γûê
- ΓûêΓûäΓûäΓûäΓûäΓûäΓûäΓûäΓûäΓûäΓûäΓûäΓûäΓûäΓûäΓûäΓûäΓûäΓûäΓûäΓûäΓûäΓûäΓûäΓûäΓûäΓûäΓûäΓûäΓûäΓûäΓûäΓûäΓûäΓûäΓûäΓûäΓûäΓûäΓûäΓûäΓûäΓûäΓûäΓûäΓûäΓûäΓûäΓûäΓûäΓûäΓûäΓûäΓûäΓûäΓûäΓûäΓûäΓûäΓûê
-
- To create a self-extracting (SE) OS/2 lzh file, make sure se.exe is in
- the current directory when you run the MSE.CMD batch file:
-
- MSE <lzh file>
-
- Do not specify the extension .lzh. You must have already created the
- lzh archive before running MSE.CMD.
-
- Example:
-
- Step 1, create archive: LH A TEST *.C
- Step 2, create EXE : MSE TEST
-
- When a SE-LZH extracts, it is equivalent to running "LH X TEST /SE"
-
- The SE program is written entirely in C. It is therefore much larger
- than some competing products, which are written in assembler. We had
- no plans on releasing an SE because of this; but we have bent to user
- requests that did not care how big the SE module is.
-
-
- ΓòÉΓòÉΓòÉ 5.1. MSE.CMD OS/2 Command File ΓòÉΓòÉΓòÉ
-
-
-
- @echo off
- if "%1"=="" goto USAGE
- copy /b se.exe+%1.lzh /b %1.exe && echo %1.EXE has been created.
- goto end
- :Usage
- echo Usage: MSE [lzh file]
- echo Do NOT speficy .lzh extension.
- :end
-
-
- ΓòÉΓòÉΓòÉ 6. Backup of OS/2 2.00 Desktop ΓòÉΓòÉΓòÉ
-
- Backup of OS/2 2.00 Desktop
-
- The following procedure has worked well during testing. Use at your own
- risk.
-
- - To backup your OS/2 2.0 desktop, use the following command, from the
- root directory of your boot drive (this is for HPFS!):
-
- lh a desktop.lzh \os2\os2.ini \os2\os2sys.ini "os!2 2.0 desktop\*" /se
-
- You CAN run this while OS/2 is running -- however, try not to run
- any other programs or move anything on the desktop while this is
- running. You're best to run it from a Full Screen command prompt.
-
- To restore your desktop, you will have to boot from another disk and
- run (from the ROOT dir):
-
- lh x desktop.lzh /se
-
-
- ΓòÉΓòÉΓòÉ 7. Warnings ΓòÉΓòÉΓòÉ
-
- Warnings
-
- - Do not use very long file names (>64 bytes) for archives that will
- be distributed publicly (on an Electronic BBS, for example).
-
- These long file names do not work well with the old FAT file system,
- and do not work AT ALL with DOS. In fact, the DOS LHA program that
- is required to extract the archive, may "crash" on the long file
- names.
-
- If the archive is for your own use, or, if a public archive, it's
- use is clearly only for OS/2 users using the HPFS file system, than
- you can disregard this warning.
-
- - If you store a dir with an EA, dos and old LH/2 will not be able to
- extract the archive correctly (the dirs will be extracted as a file,
- preventing that dir from being created).
-
-
- ΓòÉΓòÉΓòÉ 8. Hints ΓòÉΓòÉΓòÉ
-
- Hints
-
- - Think of LH as "XCOPY" with a transitional state: the *.lzh file.
- Many of the options are the same as xcopy.
-
- The same options must be used during both collection and extraction to
- end up with the same layout that you started with. To get EXACTLY
- what is on your disk (including file hidden/system/archive
- attributes), you would do this:
-
- copy in:
-
- lh a myarchive /s /e /a
-
- (this will work too: lh a myarchive /sea)
-
- copy out:
-
- lh x myarchive /s /e /a
-
- Both of the above commands start from the current directory. If the
- current directory is the root, your whole disk would be stored.
-
- This is NOT recommended:
-
- lh a mydrives c:\* d:\* e:\* /se
-
- Since the drive letters are always removed when stored in an archive,
- after extraction all of your files would end up on one disk.
-
-
- ΓòÉΓòÉΓòÉ 9. Acknowledgements ΓòÉΓòÉΓòÉ
-
- Acknowledgments
-
- This program is based on the LZH (Lempel-Ziv-Huffman) compression
- method developed by Haruhiko Okumura and Haruyasu Yoshizaki. The
- compression routines were derived from the uncopyrighted LZHUF.C,
- posted by Haruhiko Okumura.
-
- The file format (*.lzh) is compatible with LHARC, the MSDOS archiver
- by Haruyasu Yoshizaki. The format of LHARC files was learned from
- the public domain LHX.H (LHX is a *.lzh file repair utility) by Mark
- Armbrust.
-
-