home *** CD-ROM | disk | FTP | other *** search
/ Shareware Overload / ShartewareOverload.cdr / utils / arj / arj.doc < prev    next >
Text File  |  1991-09-23  |  103KB  |  2,627 lines

  1.  
  2.  
  3.  
  4.  
  5.      User's Manual for the ARJ archiver program,           September 1991
  6.  
  7.  
  8.  
  9.     ARJ software and manual copyright (c) 1990,91 by Robert K Jung.
  10.     All rights reserved.
  11.  
  12.     ARJ version 2.21 release
  13.  
  14.  
  15.  
  16.  
  17.      ** IMPORTANT NEWS ****************************************************
  18.  
  19.     Users of ARJ should read the WHATSNEW.DOC and UPDATE.DOC which
  20.     contain information about the latest improvements to ARJ.
  21.  
  22.      **********************************************************************
  23.  
  24.  
  25.  
  26.  
  27.      TOPICS COVERED IN THIS DOCUMENT
  28.      -------------------------------
  29.  
  30.      INTRODUCTION
  31.      TERMINOLOGY
  32.      MAJOR FEATURES OF ARJ
  33.      ARCHIVER BENCHMARKING
  34.      RELEASE NOTES
  35.      ARJR AND DEARJ PROGRAMS
  36.      INSTALLATION
  37.      QUICK START TO USING ARJ
  38.      HOW TO CREATE AN EXECUTABLE SELF-EXTRACTING ARJ ARCHIVE
  39.      CONVERTING OTHER ARCHIVE FILES TO ARJ FORMAT
  40.      HOW TO USE ARJ
  41.      ARJ LIMITATIONS
  42.      DIFFERENCES BETWEEN ARJ AND LHARC
  43.      IMPORTANT NOTES
  44.      TIPS TO USING ARJ EFFICIENTLY
  45.      USING ARJ WITHIN OTHER PROGRAMS
  46.      ARJMENU PROGRAM
  47.      USING ARJ AS A BACKUP PROGRAM
  48.      THE FILESPEC "..."
  49.      ARJ ERROR SITUATIONS
  50.      ARJ DOS ERRORLEVELS
  51.      ARJ USER ACTION PROMPTS
  52.      ARJ ENVIRONMENT VARIABLE
  53.      ARJ COMMAND LINE SYNTAX
  54.      ARJ COMMANDS
  55.      ARJ SWITCH OPTIONS
  56.      ARJ_SECURITY ENVELOPE
  57.      KNOWN ARJ ISSUES/PROBLEMS
  58.      ARJ TECHNICAL SUPPORT
  59.      ARJ AVAILABILITY
  60.      DISTRIBUTORS
  61.      ACKNOWLEDGEMENTS
  62.      USAGE AND DISTRIBUTION POLICY
  63.      FINAL COMMENTS
  64.  
  65.  
  66.  
  67.  
  68.      INTRODUCTION:
  69.  
  70.     ARJ is the result of my desire to use my interest in compression
  71.     technology to produce an archiver for personal use on my PC and on
  72.     minicomputers that provides power and excellent flexibility.
  73.  
  74.     This all started with the invention of an LZ77 brute force hashing
  75.     algorithm that outperformed all other LZ77 algorithms.    Having an
  76.     invention in hand gave me the confidence to enter into the
  77.     compression fray.
  78.  
  79.     ARJ is prototyped in ANSI C and only uses ANSI C standard
  80.     libraries.  All platform dependent functions (file date-time
  81.     modified, file attributes, etc.) are contained in a single
  82.     environment source file using #ifdefs to enable one to maintain a
  83.     single version of the source code for multiple different machines.
  84.  
  85.     The MS-DOS production version of ARJ has manually optimized
  86.     compression, extraction, CRC, and output routines (in assembler).
  87.  
  88.     There are plans to port versions of ARJ to other platforms in the
  89.     coming year pending sufficient time and funding.
  90.  
  91.  
  92.      TERMINOLOGY:
  93.  
  94.     The following terms are used through this manual.
  95.  
  96.     ARCHIVE - This is a file containing one or more files in a
  97.     compressed or non-compressed state and containing file related
  98.     information such as filename and date-time last modified, etc.
  99.  
  100.     ARJ FILE - This is an archive created by ARJ.
  101.  
  102.     COMPRESSION - The process of encoding redundant information into
  103.     data requiring less storage space.
  104.  
  105.     COMPRESSION PERCENTAGE/RATIO - The percentage compression reported
  106.     by ARJ is a variation of one of the TWO standard methods of
  107.     expressing compression ratio in the technical literature.  ARJ uses
  108.     the compressed size / original size ratio.  The other method is the
  109.     inverse ratio.    When ARJ reports 96% as the compression ratio, that
  110.     means that the compressed file is 96 percent of the original size
  111.     (very little compression).  Other archivers use their own methods.
  112.     LHARC uses the same ratio as ARJ.
  113.  
  114.     EXTRACTION or UNCOMPRESSION - The processing of recreating the
  115.     exact information that was previously compressed.
  116.  
  117.     SELF-EXTRACTION MODULE (SFX) - This is an archive that is an
  118.     executable file that is capable of extracting self-contained files.
  119.  
  120.     TEXT MODE - In text mode, ARJ inputs the file using the C library
  121.     text mode which translates the carriage return, linefeed control
  122.     characters of MS-DOS to a single linefeed character.  This saves
  123.     space and provides the option for cross platform file extraction.
  124.     On another platform, the host C library would change the single
  125.     linefeed to the host text newline separator sequence.  In addition,
  126.     for platforms such as PRIMOS which set bit 8 in ASCII text
  127.     characters, ARJ sets/resets bit 8 according to the platform
  128.     extracted to.  All input is stripped to 7-bit ASCII.
  129.  
  130.     VOLUMES - These are ARJ archives that are in sequence and have been
  131.     created by a single ARJ command.  Files in the volumes may span
  132.     volumes in a split format.  These volumes are usable archives.
  133.  
  134.  
  135.      MAJOR FEATURES OF ARJ:
  136.  
  137.     Currently ranks as the best in compression in terms of size
  138.     reduction of the currently available archivers including PKZIP
  139.     1.10, PAK 2.51, ARC 7.0 (ARC PLUS), LHARC 1.13c, LHA 2.13 and the
  140.     new ZOO 2.10.  ARJ is particularly effective with database files,
  141.     graphics files, and large documents.  With the "-jm" or "-jm1"
  142.     option, ARJ usually compresses even smaller at a cost of time.
  143.     With the appropriate compression options, ARJ is also FASTER
  144.     compressing while still compressing tighter than all of the
  145.     aforementioned archivers.  (Against PKZIP, use ARJ -m3).
  146.  
  147.     Archive and individual file comments with option of inputting
  148.     comments from a file.
  149.  
  150.     ARJ has MS-DOS 3.x international language support for the proper
  151.     casing of filenames and text.
  152.  
  153.     32 bit CRC file integrity check.
  154.  
  155.     DOS volume label support.
  156.  
  157.     Empty directory support.
  158.  
  159.     Test new archive before overwriting the original archive option.
  160.  
  161.     Multiple volume archives with one ARJ command.    This allows the
  162.     user to backup a full hard disk drive to multiple floppies.
  163.     Recovery of individual files is convenient because each volume
  164.     is an individual archive except for split files.  No need to use
  165.     SLICE with ARJ.
  166.  
  167.     File re-ordering facility with the option of sorting by file size,
  168.     file extension, CRC value, date-time modified, filename, pathname,
  169.     compression ratio, file attribute and more.
  170.  
  171.     String searching with context display within archive files.
  172.  
  173.     Built-in facility to recover files from broken archives.
  174.  
  175.     Self-extraction feature that is internal to the ARJ runfile.  The
  176.     SFX module is full-featured with a built-in help screen.
  177.  
  178.     Internal string data integrity check in ARJ to resist hacking a la
  179.     LHARC to ICE.
  180.  
  181.     Archive security envelope feature to resist tampering with secured
  182.     archives.  This feature disallows ANY changes to a secured archive.
  183.     Not even comments can be changed.
  184.  
  185.     Password option to encrypt archived files.
  186.  
  187.     Text mode data compression option to enable movement of text files
  188.     from one host machine to another.  Text mode also results in
  189.     slightly greater file size reduction on MS-DOS machines.
  190.  
  191.     File extraction to screen in a paged mode to permit browsing
  192.     through an archive.
  193.  
  194.     Specification of the files to be added to an archive via one or
  195.     more list files.  In addition, ARJ can generate a list file.
  196.  
  197.     Specification of files to be excluded from processing by ARJ.
  198.  
  199.     Sub-directory recursion during compression and extraction.
  200.  
  201.  
  202.      ARCHIVER BENCHMARKING:
  203.  
  204.     This is information for those who plan to publish benchmark test
  205.     results comparing ARJ with other file archivers.
  206.  
  207.     The ARJ -jm -m1 compression is intended to demonstrate the best
  208.     that ARJ can do in terms of size reduction.  The ARJ -m1 (default)
  209.     compression is intended to compete with LHA 2.12.  The ARJ -m2
  210.     compression is intended to compete with PKZIP 1.10.  The ARJ -m4 is
  211.     provided as a very fast compression method suitable for use in disk
  212.     backups.
  213.  
  214.     The ARJ -e option is necessary during size benchmarks because ARJ
  215.     by default stores the entire specified pathname in the archive as
  216.     opposed to other archivers which strip path specs.
  217.  
  218.     The very size of the ARJ runfile adds significantly to the
  219.     compression and extraction times when testing smaller archives.  It
  220.     would be fairer to use larger archives or run the archivers from a
  221.     RAMDISK.  Also, compressed executables affect the test times, so
  222.     that all archivers should be tested in uncompressed form.
  223.  
  224.     The ARJ comment header adds bytes to the size of an ARJ archive.
  225.     The larger file headers also add bytes to the size of an ARJ
  226.     archive.  So, in size benchmarks compressing a large number of
  227.     small files, the header size difference will be evident.
  228.  
  229.  
  230.      RELEASE NOTES:
  231.  
  232.     The only difference between the registered version and the
  233.     shareware version is the version/copyright message.
  234.  
  235.     This release states that it is NOT for commercial use.    Commercial,
  236.     institutional and government users must purchase a site license to
  237.     obtain a registered version of ARJ for their use.  However,
  238.     commercial, institutional and government users may use ARJ for
  239.     evaluation purposes for a period of 30 days.  See the LICENSE.DOC
  240.     for details.
  241.  
  242.     While evaluating ARJ, you should use the "-jt" (test archive)
  243.     option to verify new ARJ archives of your data.
  244.  
  245.     This version has been tested under DOS 2.11, 3.3, 4.01, and
  246.     DOS 5.0.
  247.  
  248.     The executables ARJ.EXE and REARJ.EXE can be compressed by DIET,
  249.     LZEXE, and PKLITE (not PKLITE 1.05).
  250.  
  251.     Here is a suggested command that will test ARJ on all of your files:
  252.  
  253.     ARJ a -r -jt -y "-vasdel a:\vol.*" a:\vol c:\*.*
  254.  
  255.  
  256.      ARJR AND DEARJ PROGRAMS:
  257.  
  258.     The new programs ARJR and DEARJ are available to registered and
  259.     licensed users of ARJ.    ARJR is the ARJ program minus the help
  260.     screen and SFX modules.  DEARJ is the ARJR program minus the
  261.     archive creation/modification functions.  See the LICENSE.DOC and
  262.     ORDERFRM.DOC for more information.
  263.  
  264.     UNARJ and DEARJ are NOT the same program.
  265.  
  266.  
  267.      INSTALLATION:
  268.  
  269.     I assume that you have a copy of the self-extracting ARJ module
  270.     named ARJ221.EXE.  Typing ARJ221 [RETURN] at the DOS command prompt
  271.     will initiate the self-extraction feature.  ARJ221 will by default
  272.     extract its files to the current directory.  When ARJ221 starts,
  273.     you will see several lines of text describing ARJ and then a line
  274.     asking if you wish to continue extraction.  Entering "yes" or "y"
  275.     will continue the extraction.  If there are any duplicate filenames
  276.     in the current directory, the program will prompt you for
  277.     overwriting.  You can say "yes", "no", or "quit".
  278.  
  279.     To install the ARJ software, simply copy ARJ.EXE, REARJ.EXE,
  280.     REARJ.CFG, and ARJSORT.COM to one of the directories named in your
  281.     DOS PATH statement found in your AUTOEXEC.BAT.    On many PCs, this
  282.     directory may be C:\DOS or C:\BIN.  With MS-DOS 3.0 and above, you
  283.     can use path notation "\BIN\ARJ e archive" to use ARJ.
  284.  
  285.     You may, of course, prefer to use ARJ 1.00 or higher to extract the
  286.     contents of ARJ221.EXE file manually.
  287.  
  288.     Example:  ARJ e ARJ221.EXE \temp\
  289.  
  290.  
  291.      QUICK START TO USING ARJ:
  292.  
  293.     Please note that switch options may be placed anywhere in the
  294.     command line.
  295.  
  296.     To create an ARJ archive containing all of the files in the
  297.     current directory:
  298.  
  299.     ARJ a archive
  300.  
  301.     To create an ARJ archive containing all files with the ".DOC"
  302.     extension in the current directory:
  303.  
  304.     ARJ a archive *.DOC
  305.  
  306.     To create an ARJ archive containing all of the files in the
  307.     named directory and all files in subdirectories of the named
  308.     directory:
  309.  
  310.     ARJ a -r archive named_directory\*.*
  311.  
  312.     To create an archive containing files without path specs:
  313.  
  314.     ARJ a -e archive named_directory\*.*
  315.  
  316.     For maximum compression, use the "-jm" or "-jm1" options.
  317.     For better speed, use the -m2 option.
  318.  
  319.     ARJ a -r -jm archive named_directory\*.*
  320.     ARJ a -r -m2 archive named_directory\*.*
  321.  
  322.     To create an ARJ archive containing the full specified pathnames
  323.     of the stored files including any drive and root specs.
  324.  
  325.     ARJ a -r -jf archive C:\top_directory\*.*
  326.  
  327.     To backup your hard disk to multiple volume archives on drive A
  328.     with archive testing and archive bit resetting:
  329.  
  330.     ARJ a -r -jf -jt -a1 -b2 -vvas A:backup C:\*.*
  331.  
  332.     To extract all of the files in an archive to the current
  333.     directory:
  334.  
  335.     ARJ e archive
  336.  
  337.     To extract all of the files in an archive to a named directory:
  338.  
  339.     ARJ e archive named_directory\
  340.  
  341.     To extract all files with the ".DOC" extension to the current
  342.     directory:
  343.  
  344.     ARJ e archive *.DOC
  345.  
  346.     To extract all of the files in an archive recreating the
  347.     original directory structure:
  348.  
  349.     ARJ x archive original_directory_name\
  350.  
  351.     The ending "\" character is optional.
  352.  
  353.     To extract all of the files in an archive containing absolute
  354.     pathnames to the original paths:
  355.  
  356.     ARJ x -jf archive
  357.  
  358.     To list all of the files in an archive:
  359.  
  360.     ARJ l archive
  361.  
  362.  
  363.      HOW TO CREATE AN EXECUTABLE SELF-EXTRACTING ARJ ARCHIVE
  364.  
  365.     The command "ARJ f -je archive ..." will create a full featured
  366.     self-extracting archive from an already built archive.    No error
  367.     message will be displayed concerning not finding "...".
  368.  
  369.     The command "ARJ f -je1 archive ..." will create a smaller
  370.     self-extracting archive.
  371.  
  372.     Syntax:  ARJ f -je archive ...        produces archive.exe
  373.  
  374.     Under DOS systems other than 2.11, 3.2, 3.3, 4,0, and 5.0 you may
  375.     have to rename the self-extract module to ARJSFX.EXE to do the
  376.     extraction.
  377.  
  378.     See the "-je" option for more information.
  379.  
  380.  
  381.      CONVERTING OTHER ARCHIVE FILES TO ARJ FORMAT
  382.  
  383.     Included with this software is the program REARJ.  This program can
  384.     be used to individually or collectively convert archive files from
  385.     other formats to the ARJ format.
  386.  
  387.     REARJ *.ZIP *.ARC *.LZH   will convert all ZIP, ARC, and LZH
  388.     archives in the current directory to the ARJ format.  See the
  389.     REARJ.DOC for more information about REARJ.
  390.  
  391.  
  392.      HOW TO USE ARJ:
  393.  
  394.     If you type ARJ [return], you will see a simple help screen.
  395.  
  396.     If you type ARJ -? [return], you will see more detailed help
  397.     information.
  398.  
  399.  
  400.      ARJ LIMITATIONS:
  401.  
  402.     ARJ will accept up to:      64 filenames/wildnames on command line
  403.                    16000 filenames resulting from wildnames
  404.                 8000 filenames/wildnames to exclude
  405.                 8000 ARJ filenames resulting from wildnames
  406.                 2048 character comments
  407.                      (up to 25 lines or 1 file)
  408.  
  409.     For compressing, ARJ requires approximately 282,000 bytes plus the
  410.     memory necessary to store all of the pathnames to be archived when
  411.     using the default compression method (-m1).
  412.  
  413.     For extracting, ARJ requires approximately 166,000 bytes plus.
  414.     The program DEARJ (available to registered users) requires
  415.     approximately 123,000 bytes plus.
  416.  
  417.     There is no limitation on the number of files that can be stored in
  418.     one archive.  However, each add command can only add a maximum of
  419.     16000 files at a time depending upon memory availability.  I expect
  420.     that a normal maximum of 5000 to 8000 filenames can be handled
  421.     without running out of memory during the compress phase.
  422.  
  423.     If you do not have enough memory, you should use the "-l" switch to
  424.     dump the filenames to a list file.  You can then break the list
  425.     file into smaller files and use multiple ARJ commands to archive
  426.     all of the files.
  427.  
  428.     Example:
  429.  
  430.        ARJ a -r -lname.lst archive \*.*
  431.  
  432.        If the above command fails due to lack of memory, split the
  433.        name.lst file into smaller pieces named name1.lst, name2.lst,
  434.        etc.  Then execute:
  435.  
  436.        ARJ a archive !name1.lst
  437.        ARJ a archive !name2.lst
  438.        .
  439.        .
  440.  
  441.     ARJ currently does NOT differentiate between wildnames like "C:*.*"
  442.     and "C:\*.*".  ARJ would expand each of those two wildnames into a
  443.     list that could be up to twice as long as necessary.
  444.  
  445.     When updating an archive, ARJ creates a temporary file named
  446.     ARJTEMP.$nn in the current directory or work directory.
  447.  
  448.     While ARJ is scanning a wildcard filespec, ARJ will change the name
  449.     of the target archive to ARJTEMP.$nn while the scan is proceeding
  450.     to avoid including the archive itself in an add or move command.
  451.     Also, as a result, you cannot add a file named ARJTEMP.$nn to an
  452.     ARJ archive.  Please note that the name of this temporary file may
  453.     change at a future revision of ARJ.
  454.  
  455.  
  456.      DIFFERENCES BETWEEN ARJ AND LHARC:
  457.  
  458.     The archive formats are NOT compatible.
  459.  
  460.     The compression and decompression algorithms are NOT compatible.
  461.  
  462.     ARJ only supports its own archive format.
  463.  
  464.     ARJ by default stores the full specified pathname of files
  465.     archived minus any drive letter and root symbol.
  466.  
  467.     The "e" and "x" commands will by default extract all of the files
  468.     in the archive without using date time stamps to select files.    You
  469.     should specify "-u -y" to duplicate LHARC functionality.
  470.  
  471.     The "f" command in ARJ requires the -r switch to be identical to
  472.     the LHARC f command.
  473.  
  474.     The ARJ archive suffix is ".ARJ".
  475.  
  476.  
  477.      IMPORTANT NOTES:
  478.  
  479.     When using the "-w" working directory switch, ARJ does not check on
  480.     space availability before overwriting the original archive if it
  481.     exists.  Be sure that you have enough disk space for the new
  482.     archive before using the "-w" switch.  If ARJ aborts in this
  483.     situation because of disk space, ARJ will keep the temporary
  484.     archive.
  485.  
  486.     By default, ARJ does not see hidden or system files.  ARJ will
  487.     process system and hidden files when you either specify the "-a"
  488.     switch.
  489.  
  490.     Like LHARC and PKZIP, ARJ requires extra disk space to UPDATE an
  491.     archive file.  ARJ will backup the original archive while it
  492.     creates the new archive, so enough room must be available for both
  493.     archives at the same time.
  494.  
  495.     Currently, ARJ will not extract overwriting a readonly file.
  496.  
  497.  
  498.      TIPS TO USING ARJ EFFICIENTLY
  499.  
  500.     When archiving to diskettes, you should use the "-w" option to set
  501.     a working directory on your RAMDRIVE or hard disk drive to speed up
  502.     building the archive.
  503.  
  504.     Using the "-js" option saves time by not compressing archives.
  505.  
  506.     You should use the "-jt" option when archiving to diskettes or when
  507.     you really want to be sure that ARJ will be able to extract what
  508.     you have archived.  There are cases where your hardware or memory
  509.     resident software will corrupt your work, so the "-jt" option is
  510.     excellent insurance.
  511.  
  512.     You should use the "-e" option whenever you do not need to store
  513.     pathnames in an archive that you are creating.    This will save
  514.     space.
  515.  
  516.     Convert an ARJ archive into a self-extracting archive with a
  517.     command like the following:  ARJ f archive ... -je
  518.  
  519.     To capture a comment from an ARJ archive, use the following
  520.     command:  ARJ e archive ... -zcomment.txt
  521.  
  522.     ARJ has several compression methods that provide size/time
  523.     tradeoffs.  Method 4 "-m4" is about twice as fast as method 1.    The
  524.     "-jm1" and "-jm" options modify the "-m1" and "-m2" options to
  525.     provide even greater compression at a cost in time.
  526.  
  527.  
  528.      USING ARJ WITHIN OTHER PROGRAMS
  529.  
  530.     Since ARJ uses over 280,000 bytes of memory during compression, it
  531.     is difficult to use ARJ in a large application program unless that
  532.     program swaps itself out of memory when it executes DOS commands
  533.     like ARJ.  However, there is at least one shareware program
  534.     available that will automatically swap your large application
  535.     program out of memory whenever it shells out to DOS to execute a
  536.     command.  The program SHROOM by Davis Augustine should be able
  537.     solve this memory problem for you.  The latest version is named
  538.     SHROM17D.ZIP on Channel1 BBS.  According to the SHROOM
  539.     documentation, you can reach the author at:
  540.  
  541.         CompuServe id 72230,3053
  542.  
  543.         Davis Augustine
  544.         P.O. Box 390178
  545.         Cambridge, MA 02139
  546.  
  547.     This is not an endorsement of the product SHROOM.
  548.  
  549.     The easiest way I have found to use this product is to type:
  550.     SHROOM COMMAND
  551.  
  552.     SHROOM -v COMMAND will let you see SHROOM in action when you shell
  553.     out to execute a DOS command.
  554.  
  555.  
  556.      ARJMENU PROGRAM
  557.  
  558.     A new program called ARJMENU by Michael McCombs will be released
  559.     shortly.  As far as I know, it is the only menu-driven interface
  560.     program that supports ALL of the features of ARJ.  This program is
  561.     aimed at users who hate command line interfaces.  ARJMENU allows
  562.     the user to pick and choose ARJ options.  The user does not have to
  563.     remember the ARJ switch syntax.  This program supports ARJ version
  564.     2.21.  You can reach the author at:
  565.  
  566.         Internet/ARPANet: mccombs@sumax.seattleu.edu
  567.  
  568.         Michael McCombs
  569.         517 Ninth Ave. #310
  570.         Seattle, WA. 98104
  571.  
  572.  
  573.      USING ARJ AS A BACKUP PROGRAM
  574.  
  575.     ARJ can be used as a substitute for a backup program.  However, it
  576.     does not have the diskette critical error handling or data recovery
  577.     facilities of a FASTBACK, etc.    So you should be sure of the
  578.     reliability of your diskettes.
  579.  
  580.     The following partial command lines illustrate a full backup
  581.     command, an incremental update command, and a restore command.    The
  582.     only parts missing are the names of the files to backup/restore.
  583.  
  584.     ARJ a A:backup -r -vvas -a1 -b2 -i1 -js -jt -jiC:\backup.inx -wC:\ -m4
  585.  
  586.     ARJ a A:backup -r -vvas -a1 -b1 -i1 -js -jt -jiC:\backup.inx -wC:\ -m4
  587.  
  588.     ARJ x A:backup -vv -jycn
  589.  
  590.     You should familiarize yourself with the above switches so that you
  591.     can modify the above command lines as needed.
  592.  
  593.     If you have a RAMDRIVE large enough, you should change the "-w"
  594.     option to point to the RAMDRIVE.
  595.  
  596.     If you have enough free hard disk space, you can build all of the
  597.     diskette volumes on the hard disk for later copying to diskette.
  598.     In this case, you will need to change the name of the archive to
  599.     "C:backup" or similar.    The "-vvas" option should be changed to
  600.     "-v360", "-v720" or whatever is appropriate for your diskette size.
  601.     Please note that 360, 720, 1200, and 1440 are abbreviations for the
  602.     standard diskette sizes.  Other sizes will require your entering
  603.     the entire number.  Another change is to add the option "-y" which
  604.     will turn off the "Ok to proceed ..." prompt.  Lastly, if the "-w"
  605.     option is pointing to the hard disk, you should remove the "-w"
  606.     option entirely.
  607.  
  608.     ARJ a C:backup -r -v360  <other options>   -m4 -y
  609.  
  610.     ***IMPORTANT*** Only a maximum of 100 volumes can be built on disk
  611.     at one time because of the volume suffix rolling over at *.A99 to
  612.     *.A00.    A workaround to this limitation is to archive your hard
  613.     disk with several ARJ commands building different volume names.
  614.  
  615.     Both backup commands will pause for a "system command".  You can
  616.     execute DOS commands at this point.  This is a suitable place to do
  617.     a "dir a:" to make sure that your disk is formatted and has enough
  618.     free space on it.  You may need to execute "format a:" or
  619.     "del a:\".  A very useful command might be "QDR A:".  QDR is a
  620.     utility from Vern Buerg.  You will need to type "exit" to allow ARJ
  621.     to continue.
  622.  
  623.     If the backup fails after completing one or diskettes, you can
  624.     restart at the next archive after the last successful volume.  You
  625.     will need to examine the information in the "backup.inx" file to
  626.     find the name of the file that is to start this archive.  It will
  627.     usually be the same as the last filename in the previous volume.
  628.     You will also need the byte position to start in this same file.
  629.     That can be determined from the information in "backup.inx".  You
  630.     can then retype the exact same backup command as before with a few
  631.     changes.  You will append the right ".Ann" suffix to the archive
  632.     name and you will add the options "-jx" and "-jn" with the proper
  633.     arguments.
  634.  
  635.     For example, if the above backup command failed during diskette
  636.     two, on filename "DOS\MODE.COM" which was started at byte 125.
  637.     This would be the correct command:
  638.  
  639.     ARJ a A:backup.A01 -r -vvas -a1 <other> -m4 -jx125 -jnDOS\MODE.COM
  640.  
  641.     The most error prone step is determining the correct "-jn" option.
  642.     Be sure to spell the filename exactly the same as it appears in the
  643.     "backup.inx" file.
  644.  
  645.     If the restore fails after one or more diskettes, simply retype the
  646.     same command as before but add the right ".Ann" suffix to the
  647.     archive name.  If ARJ has aborted because of a disk full on a file
  648.     split between volumes, you will have to restart at the first volume
  649.     that contains that file.
  650.  
  651.  
  652.      THE FILESPEC "..."
  653.  
  654.     Several times in this document and the UPDATE.DOC file, there is
  655.     mention of the filespec "...".     This filespec is chosen so as to
  656.     not match any existing filename.  ARJ will NOT generate an error or
  657.     warning for not matching "..." specifically.
  658.  
  659.  
  660.      ARJ ERROR SITUATIONS:
  661.  
  662.     ADD:
  663.  
  664.     If a user specified file is not found during an add, ARJ will
  665.     continue processing, and will keep the archive and terminate with
  666.     an error condition.
  667.  
  668.     In a disk full condition or any other file i/o error, ARJ will
  669.     promptly terminate with an error condition and delete the temporary
  670.     archive file unless the user has specified the "-jk" switch.
  671.  
  672.  
  673.     MOVE:
  674.  
  675.     ARJ will only delete files that have been successfully added to the
  676.     archive.  If you have specified the "-jt" (test) switch, ARJ will
  677.     abort on any error.  If you specify the "-jk" switch, ARJ will not
  678.     delete the temporary archive upon an abort.
  679.  
  680.  
  681.     EXTRACT:
  682.  
  683.     In a disk full condition or any other file i/o error, ARJ will
  684.     promptly terminate with an error condition and delete the current
  685.     output file.
  686.  
  687.  
  688.     CRC ERRORS OR BAD HUFFMAN CODE:
  689.  
  690.     In the case where an ARJ archive has been corrupted ARJ will report
  691.     a CRC error or a Bad Huffman code error.  These corruptions can be
  692.     the result of an unreliable diskette, a computer memory problem, a
  693.     file transfer glitch, or incompatible CACHING software.  Most of
  694.     these errors are the result of file transfer glitches and bad
  695.     diskettes.  A few are the result of an incompatible interaction
  696.     with SUPER PCKWIK 3.3 advanced diskette support.
  697.  
  698.  
  699.      ARJ DOS ERRORLEVELS:
  700.  
  701.     0 ->   success
  702.     1 ->   warning (specified file to add to archive not found,
  703.             specified file to list, extract, etc., not found,
  704.             or answering negatively to "OK to proceed to next
  705.             volume..." prompt)
  706.     2 ->   fatal error
  707.     3 ->   CRC error (header or file CRC error)
  708.     4 ->   ARJ-SECURITY error or attempt to update an ARJ-SECURED archive
  709.     5 ->   disk full or write error
  710.     6 ->   can't open archive or file
  711.     7 ->   simple user error (bad parameters)
  712.     8 ->   not enough memory
  713.  
  714.  
  715.      ARJ USER ACTION PROMPTS:
  716.  
  717.     ARJ prompts the user for action at certain times.  There are
  718.     several types of prompts.  One is for yes/no permission, another is
  719.     for a new filename, another is for archive comments, and one other
  720.     is for search strings.    The yes/no prompts will also accept "quit"
  721.     for program termination and "always" to bypass further user
  722.     prompts.
  723.  
  724.     Since ARJ uses STDIN for user input, be careful about typing ahead
  725.     anticipating prompts.  ARJ may prompt you for an unexpected action
  726.     and use your earlier input.
  727.  
  728.     The "-jy" option lets you change the prompting modes to single
  729.     character query mode.  See the section on "-jy" for more
  730.     information.
  731.  
  732.  
  733.      ARJ ENVIRONMENT VARIABLE:
  734.  
  735.     ARJ will first look for an environment variable named ARJ_SW and
  736.     use its value as switch options for ARJ.  If ARJ finds such an
  737.     environment variable, it will display a message to that effect.
  738.  
  739.     You can inhibit ARJ from using this environment variable by using
  740.     the "-+" option.
  741.  
  742.     SET ARJ_SW=<switches>
  743.  
  744.     Example:  SET ARJ_SW=-w\temp -k -e
  745.  
  746.     Do NOT add any blanks after the variable name ARJ_SW.  As in LHARC,
  747.     command line switches can be selected to override ARJ_SW settings.
  748.  
  749.     ARJ will allow you to use a different switch character "-" or "/"
  750.     in ARJ_SW and in the command line except when using the "-ju"
  751.     (unix) option.
  752.  
  753.     If the ARJ_SW environment variable specifies a filename (text not
  754.     beginning with a switch character), ARJ will open that filename and
  755.     scan it looking for a line of text that begins in column 1 with the
  756.     same letter as the ARJ command being executed.    The following text
  757.     is processed as the ARJ_SW switches.  This allows each ARJ command
  758.     to have its own switch settings.  If no such command text is found,
  759.     then no switch settings are processed as the ARJ_SW switches.
  760.  
  761.     SET ARJ_SW=C:\ARJ\ARJ.CFG
  762.  
  763.     C:\ARJ\ARJ.CFG contains:
  764.     a -jm1 -jt -i1
  765.     l -jp
  766.     e -i1
  767.     c -zcomment.txt
  768.  
  769.     In the above example, any ARJ "a" commands will use "-jm1 -jt -i1"
  770.     as the ARJ_SW switch options.
  771.  
  772.     The ARJ_SW variable or the ARJ_SW configuration file switch
  773.     settings may NOT have quoted switches such as "-vasformat a:".
  774.  
  775.  
  776.      ARJ COMMAND LINE SYNTAX:
  777.  
  778.     ARJ <command> [-<switch>[-|+|<option>]...] <archive_name>[.ARJ]
  779.     [<base_directory_name>\] [<!list_name>|<path_name>|<wild_name>...]
  780.  
  781.     Commands and switches can be entered in upper or lower case.
  782.     Switches can be placed anywhere after the command ARJ.
  783.  
  784.     ARJ supports the use of either "-" or "/" as the switch option
  785.     character.  The first occurrence of either "-" or "/" that ARJ
  786.     encounters in the ARJ_SW variable will determine the switch symbol
  787.     for processing ARJ_SW.    The first occurrence of either "-" or "/"
  788.     that ARJ encounters in the command line will determine the switch
  789.     symbol for processing the command line except when the "-ju" (unix)
  790.     option has been specified in ARJ_SW.  You may NOT mix and match
  791.     switch symbols.  Throughout this document, the symbol "/" may be
  792.     substituted for "-" in switch usage.
  793.  
  794.     Examples:  ARJ a A:archive *.* /va /r     is correct
  795.            ARJ a A:archive *.* /va -r     IS INCORRECT USAGE!
  796.  
  797.     Switch options SHOULD NOT be combined.    At this time combinations
  798.     such as "-ki" representing "-k" and "-i" will work, but may not in
  799.     the future.
  800.  
  801.     The switch option "--" tells ARJ that there are no more switch
  802.     options to process in the current command line.  This is useful
  803.     when you need to enter filenames beginning with "-".
  804.     Example:  ARJ a archive -- -testfile
  805.  
  806.     The standard ARJ file suffix is ".ARJ".  Subsequent multiple volume
  807.     archives end in ".A01", ".A02", etc, up to .A99, .A00, .A01.
  808.  
  809.     The ARJ command must be the first non-switch argument after "ARJ".
  810.     The ARJ archive name must be the first filename on the command
  811.     line.  The base directory, if any, must be the second filename
  812.     argument.  The switches and other filenames can be in any order.
  813.     The base directory name should end with "\" (backslash) or ":"
  814.     (colon).  However, ARJ will still accept directory names without
  815.     the "\" character if the directory already exists.
  816.  
  817.     You can specify a wildcard for the archive name such as "*.ARJ" for
  818.     all ARJ commands except for the add commands (a, f, j, m, u).  If
  819.     you also specify the "-r" switch,  ARJ will search sub-directories
  820.     for ARJ archives (*.ARJ) also.
  821.  
  822.     Example:  ARJ l -r *         will list all of your *.ARJ files.
  823.           ARJ c *.arj -zbbs.cmt  will comment all of your archives.
  824.  
  825.     Switches specified on the command line will either toggle or
  826.     override switches specified with the ARJ_SW environment variable.
  827.     Switch usage is identical to that of LHARC.
  828.  
  829.     "-s+"         turns on switch "s".
  830.     "-s-"         turns off switch "s".
  831.     "-s"         toggles the state of switch "s".
  832.     "-sname"     provides the name argument for switch "-s".
  833.     "--"         skip processing of any more switch options.
  834.  
  835.     Wild_names follow MS-DOS convention.  "*.*" means all files.
  836.     "*.DOC" means all files with an extension of ".DOC".  "?B*.*"
  837.     means all files with a second character of "B".
  838.  
  839.     The default for <wild_name> for all commands except for "d" is
  840.     "*.*".
  841.  
  842.     For the add, move, freshen and update commands, filename matching
  843.     in the archive requires an exact path match depending upon the "-e"
  844.     option.  For non-update commands, specified filenames with paths
  845.     will force a full pathname match.
  846.  
  847.     You can supply one or more filenames for files containing lists of
  848.     files to be added to an archive.  The filenames must be listed one
  849.     per line with no leading or trailing blanks.  The list filename(s)
  850.     must be prefixed with "!".  If you want to archive a filename
  851.     beginning with !, you must use the "-!" option to set a new list
  852.     file character.
  853.  
  854.     You can exclude filenames/wildnames from the list of filenames to
  855.     be processed by ARJ.
  856.  
  857.     Example:  ARJ a software *.* -x*.exe -x*.obj   adds all files
  858.     in the current directory except .EXE and .OBJ files.
  859.  
  860.  
  861.      ARJ COMMANDS:
  862.  
  863.     a: Add files to archive
  864.  
  865.        This is the basic command to add disk files to an ARJ archive.
  866.        You can specify 0 to 64 filename arguments (one can be a
  867.        destination directory).  The arguments can be wildnames.  If
  868.        you specify the "-r" switch (recurse subdirectories), ARJ
  869.        will add all of the files in all of the subdirectories that
  870.        match the specified wildname.
  871.  
  872.        Example:  ARJ a archive subdir\*.*
  873.              Archive all files in directory "subdir".
  874.  
  875.        For maximum compression, use the "-jm" switch option.
  876.  
  877.     c: Comment archive files
  878.  
  879.        This command allows you to comment the header and individual
  880.        files.  ARJ will prompt you for each comment.  The user will be
  881.        prompted for up to 25 lines for each comment.  A line containing
  882.        only a [return] will terminate the comment.
  883.  
  884.        The user can choose to input comment data from a file by entering
  885.        the comment filename preceded by an "!" as in "!archive.txt"
  886.        starting in column 1 of the first comment line.  This file is
  887.        read as a text file.  The lines in the text can be up to 2048
  888.        bytes long.    Only the first 2048 bytes of the file will be
  889.        accepted by ARJ.
  890.  
  891.        To erase a comment from an archive, type [space] [return] on the
  892.        first comment line and [return] on the second comment line.
  893.  
  894.        You may also erase a comment with the following command:
  895.        "ARJ c archive -zerase.txt"    where erase.txt contains only a
  896.        [space] and [return].
  897.  
  898.        To add only the archive comment and not file comments, use the
  899.        following command:
  900.  
  901.        ARJ c archive -z
  902.  
  903.        To add only the archive comment at the command line, use the
  904.        following command:
  905.  
  906.        ARJ c archive -zcomment.txt
  907.  
  908.        You may also comment an archive with the "a", "f", "m", "u"
  909.        commands.
  910.  
  911.        ARJ a -zcomment.txt archive *.txt
  912.  
  913.     d: Delete files from archive
  914.  
  915.        This command allows you to delete files from the archive.  When
  916.        wildcard selection is not suitable, you can use the "-q" switch
  917.        which causes ARJ to prompt you for deletion for each file
  918.        selected.
  919.  
  920.        Example:  ARJ d archive *.c
  921.              Delete all files in archive ending in ".c".
  922.  
  923.              ARJ d -q archive *.c
  924.              Prompt before deleting each file ending in ".c".
  925.  
  926.     e: Extract files from archive
  927.  
  928.        This command will extract one or more files from the archive to
  929.        the current directory or base directory if specified.  ARJ will
  930.        prompt the user before overwriting existing files unless the
  931.        user specifies the "-y" switch.  If the user gives a "no"
  932.        answer, ARJ will prompt for a new filename.    If the user enters
  933.        a single [return] instead of a filename, ARJ will skip the
  934.        current file extraction.
  935.  
  936.        Example:  ARJ e archive soft\ *.c
  937.              Extract all files ending in ".c" to subdirectory
  938.              "soft".
  939.  
  940.        When extracting a file located on multiple volumes, ARJ may
  941.        prompt the user with an "Append? " prompt.  This will usually
  942.        occur with files split across volumes.  You will also need to
  943.        specify the "-v" switch to force ARJ to continue to the next
  944.        volume of a series of volumes.  When extracting from one of a
  945.        series of multiple volumes on a diskette, it is easier to use
  946.        the wildcard "*.*" to specify the archive as in:
  947.  
  948.        ARJ e archive A:*.* filespecs
  949.  
  950.        If you wish to extract only a portion of an archive and that
  951.        portion is a directory containing directories, you should use
  952.        the "-p1" switch.  See the "-p" switch for more information.
  953.  
  954.        If ARJ encounters a disk full during extraction, ARJ will abort
  955.        with an error.  You can bypass the abort by using the "-jd"
  956.        option.  Refer to the description of "-jd" for more
  957.        information.
  958.  
  959.     f: Freshen files in archive
  960.  
  961.        Update matching files in the archive that are OLDER than the
  962.        selected disk files.
  963.  
  964.        Example:  arj f archive *.c *.h
  965.  
  966.        In freshening archives, you should use the same filename
  967.        specifications that you used to create the archive.
  968.  
  969.        Example:  arj a archive \temp\ *.* -r
  970.              arj f archive \temp\ *.* -r
  971.  
  972.        If no files or comments have been added to the archive, ARJ
  973.        will not rewrite the archive at ARJ 2.20 and above.
  974.  
  975.     i: check Integrity of ARJ.EXE
  976.  
  977.        The "i" command allows the user to check the integrity of the
  978.        ARJ.EXE program.  ARJ will report CRC ERROR! if the tested ARJ
  979.        program does not pass its integrity check.  This indicates that
  980.        the program is probably corrupted.  Please note that the "i"
  981.        command should not be used on a compressed ARJ executable
  982.        (DIETed, LZEXEd, etc.), since the "i" command will then ALWAYS
  983.        report a CRC error.    If the program name is not specified, then
  984.        ARJ will check the current program being executed.
  985.  
  986.        Syntax:  ARJ i ARJ.EXE
  987.             ARJ i         at DOS 3.0 and up
  988.  
  989.     j: Join archives to archive
  990.  
  991.        The "j" command allows the user to merge multiple ARJ
  992.        archives.  You should not use the "o" command to reorder a
  993.        merged multiple volume archive because of the split files.
  994.        ARJ expects to find the pieces of a split file in consecutive
  995.        order.
  996.  
  997.        Syntax:  ARJ j archive archive1.arj archive2.arj
  998.             ARJ j archive *.arj -r
  999.  
  1000.        Some switches NOT supported by the "j" command are:    -o, -ob,
  1001.        -f, -u, -c, -d, -v.    Note that there is no error message
  1002.        displayed by ARJ when using an unsupported switch with the "j"
  1003.        command.
  1004.  
  1005.        The "-d" option IS supported by the "j" command.
  1006.  
  1007.        Note that switches that do work like "-x" select the archives to
  1008.        be merged and NOT the contents of the archives.
  1009.  
  1010.        This command can be used to convert an SFX module to a regular
  1011.        ARJ archive.
  1012.  
  1013.        Example:  ARJ j new_name arjsfx.exe
  1014.  
  1015.     l: List contents of archive
  1016.  
  1017.        List contents of archive to standard output.  The display can be
  1018.        paused after each screenful with the "-jp" switch.  The files
  1019.        are listed in stored order.    There are no sort options
  1020.        currently.
  1021.  
  1022.        The last field on the display TPMGVX stands for:
  1023.            T -> text/binary/directory type
  1024.            P -> path information available in "V" listing
  1025.            M -> compression method used
  1026.            G -> file has been garbled (encrypted)
  1027.            V -> archive has been continued to another volume
  1028.            X -> this file is an extended portion of a larger file
  1029.  
  1030.        Example:  arj l archive *.c *.h
  1031.  
  1032.        A "+" sign preceding the date-time field indicates that the date
  1033.        is a 21st century date (20nn).
  1034.  
  1035.        The original file size reported by the "l" and "v" commands is
  1036.        the actual number of bytes input during text mode compression.
  1037.        This is usually the MS-DOS file size minus the number of
  1038.        carriage returns in the file, since C text mode strips a file of
  1039.        carriage returns.
  1040.  
  1041.     m: Move files to archive
  1042.  
  1043.        This command is similar to specifying the "a" command with the
  1044.        "-d" switch.  The "m" commands adds the selected files to the
  1045.        archive.  If the adds are successful, then the added files are
  1046.        deleted.  The move command does not ask permission before
  1047.        deleting the files.    Use the "ARJ a -d" command for that
  1048.        feature.
  1049.  
  1050.        Example:  ARJ m archive soft\*.*
  1051.  
  1052.        The "m" command when used with "-f" and "-u" will delete any
  1053.        successfully added files as well as any files that are already
  1054.        up to date in the archive.
  1055.  
  1056.     n: reName files in archive
  1057.  
  1058.        This command allows you to change the names of the files stored
  1059.        in an ARJ archive.  ARJ will prompt for the new name of each
  1060.        selected file.  You can skip changing the name of a particular
  1061.        file by entering a blank line.
  1062.  
  1063.        Example:  ARJ n archive *.c
  1064.  
  1065.        In the above example, ARJ prompts for new names for all *.c
  1066.        files.
  1067.  
  1068.     o: Order files in archive
  1069.  
  1070.        This command allows you to re-order the files within the
  1071.        archive.  You may specify the order of files on the command line
  1072.        or you can use one or more list files.  Any files in the archive
  1073.        that are not specified on the command line or in a list file
  1074.        will be placed at the end of the archive in the same relative
  1075.        order that they were originally.  No wildcard names can be used
  1076.        as order specifications.  The filenames in the list file must be
  1077.        entered one per line.
  1078.  
  1079.        Example:  ARJ o archive file1 file2 file3
  1080.  
  1081.        In the above example, the files "file1", "file2", and "file3"
  1082.        will be ordered first in the archive.  Any remaining files will
  1083.        follow those.
  1084.  
  1085.        Example:  ARJ o archive !list
  1086.  
  1087.        In the above example, the archive will be ordered according to
  1088.        the order of the names in the file "list".
  1089.  
  1090.        IMPORTANT:  For the "o"rder command, the list file option has
  1091.        one special feature.  If the list file is named ARJSORT.$$$, ARJ
  1092.        will expect the file to have been built with the ARJ v -jv1
  1093.        command.  This ARJSORT.$$$ list file may be specified with a
  1094.        pathspec.  See the ARJSORT.BAT batch file for an example of this
  1095.        special feature.
  1096.  
  1097.        To facilitate building list files, the "v" command in ARJ will
  1098.        produce special outputs with the "-jv" switch and the "-jv1"
  1099.        switch.
  1100.  
  1101.        The "-jv" switch will display only the pathnames stored within
  1102.        the archive.  No other listing data is displayed.  This output
  1103.        can be re-directed to a file for manual sorting into a list
  1104.        file.
  1105.  
  1106.        The "-jv1" switch will display the standard verbose display with
  1107.        a few modifications.  No comment field will be displayed.  The
  1108.        pathname is appended to the archive file description data
  1109.        instead of being on a separate line.  Displayed just before the
  1110.        pathname field are the file extension and filename.    These
  1111.        fields are available so that the user can sort the text lines by
  1112.        date-time, file extension, CRC value, etc.  Text editors like
  1113.        Qedit and SLED allow the user to sort text lines via an embedded
  1114.        text field.
  1115.  
  1116.        IMPORTANT:  You should NOT change the order of files in a
  1117.        multiple volume archive.  ARJ expects the first file and the
  1118.        last file in such an archive to have certain flags set.
  1119.        Re-ordering the archive may cause problems with any split files.
  1120.  
  1121.        At ARJ 2.20 and above, you cannot "o"rder a multiple volume
  1122.        archive.
  1123.  
  1124.     p: Print files to standard output
  1125.  
  1126.        Output files to standard output.  This function works such that
  1127.        the output file will contain only the file data extracted.  This
  1128.        is important for UNIX-like usage.
  1129.  
  1130.        Example:  ARJ p archive manual.doc > output.fil
  1131.  
  1132.        In the above example, output.fil will be an exact copy of
  1133.        manual.doc.    There will be no extraneous header information in
  1134.        output.fil.    All extraction phase information is written to the
  1135.        STDERR device, which is normally the display screen.
  1136.  
  1137.        Example:  ARJ p archive manual.doc > LPT1
  1138.  
  1139.        In the above example, the standard output is redirected to the
  1140.        printer device.  This does not involve any intermediate disk
  1141.        files.
  1142.  
  1143.        The "-jp" option can be used to pause the screen output as in the
  1144.        "s" command.  The "-jv" option will allow the display of IBM
  1145.        graphics characters with the "-jp" option.
  1146.  
  1147.        NOTE:  Because of a problem using fwrite() and STDOUT, errors
  1148.        occurring during redirection to serial and printer ports may not
  1149.        be detected.  Errors during redirection to disk files will be
  1150.        detected.
  1151.  
  1152.     r: Remove paths from filenames
  1153.  
  1154.        This command causes ARJ to remove the path component from the
  1155.        specified filenames stored in the archive.  The default is all
  1156.        filenames stored in the archive.  This command is useful if you
  1157.        forgot to specify "-e" to exclude paths.
  1158.  
  1159.     s: Sample files to screen with pause
  1160.  
  1161.        This command is similar to the "p" command except that one
  1162.        screenful of data is displayed to the user and a user action is
  1163.        then requested.  The action prompt can be suppressed with the
  1164.        "-y" switch.
  1165.  
  1166.        The "s" command filters the text to output by truncating at 79
  1167.        characters per line and displaying '?' for control characters.
  1168.        The "-jv" option will allow the display of IBM graphics
  1169.        characters.
  1170.  
  1171.     t: Test integrity of archive
  1172.  
  1173.        Test the contents of the selected files for the correct CRC
  1174.        value.  ARJ uses a 32 bit CRC to validate the contents of the
  1175.        files.  The use of 32 bit CRCs is many times better than the
  1176.        use of 16 bit CRCs for the detection of errors.
  1177.  
  1178.        Use this command to fully test the security envelope on an
  1179.        ARJ-SECURED archive.
  1180.  
  1181.     u: Update files to archive
  1182.  
  1183.        Update older files in the archive and add files that are new to
  1184.        the archive.
  1185.  
  1186.        Example:  arj u software
  1187.  
  1188.     v: Verbosely list contents of archive
  1189.  
  1190.        This command lists the full pathname and comments of the archive
  1191.        files as well as the same information as the "l" command.
  1192.  
  1193.        Use the "-jp" switch to pause the output after each screen.
  1194.  
  1195.        The "-jv" switch will display only the pathnames to the screen.
  1196.  
  1197.        The "-jv1" switch will display the archive data in a manner
  1198.        suitable for sorting on various fields for use with the "o"
  1199.        command.
  1200.  
  1201.     w: Where are text strings in archive
  1202.  
  1203.        This option will cause ARJ to prompt the user whether to ignore
  1204.        case when searching.  This option will take MS-DOS code pages
  1205.        into account so that casing of accented/umlauted characters will
  1206.        be done correctly.
  1207.  
  1208.        It will also prompt the user for the number of lines of context
  1209.        of a match to display.  If a number greater than zero is chosen,
  1210.        ARJ will display the matched string and the surrounding context
  1211.        with all of the non-printable characters including newlines
  1212.        replaced by question marks.    The context lines displayed will be
  1213.        78 characters in length.  When the display context option is
  1214.        chosen, ARJ will inhibit the progress indicator.  If the "-jv"
  1215.        is set, IBM graphics characters (128 to 255) will be displayed.
  1216.  
  1217.        Then, this command will prompt the user for up to 20 text strings
  1218.        to search for within the archive.  A count of all matches will be
  1219.        displayed after each individual file is scanned.
  1220.  
  1221.        Search strings are limited to 79 characters.
  1222.  
  1223.        Matches that span archive volumes will not be detected by
  1224.        this string search.
  1225.  
  1226.        You can search multiple ARJ archives with a command like:
  1227.  
  1228.        ARJ w \docs\*.arj
  1229.  
  1230.     x: eXtract files with full pathname
  1231.  
  1232.        This command extracts one or more files from the archive to
  1233.        their full paths in the current directory or to the base
  1234.        directory if specified.  ARJ normally stores pathnames as if
  1235.        they were children of the target directory.    Any drive or root
  1236.        directory specifications are stripped before extracting unless
  1237.        the "-jf" switch is specified with the "x" command.
  1238.  
  1239.        Example:  arj x archive *.c
  1240.  
  1241.        If you wish to extract only a portion of an archive and that
  1242.        portion is a directory containing directories, you should use
  1243.        the "-p1" switch.  See the "-p" switch for more information.
  1244.  
  1245.        Refer to the description of the "e" command for more
  1246.        information about extraction.
  1247.  
  1248.  
  1249.      ARJ SWITCH OPTIONS:
  1250.  
  1251.     The letters within the parentheses:
  1252.  
  1253.        (All) - all commands
  1254.        (afu) - add, freshen, update, move commands
  1255.        (Upd) - any command that modifies/updates an archive
  1256.        (ce)  - comment and extract commands
  1257.        (ex)  - extract commands
  1258.        (lv)  - list commands
  1259.  
  1260.     ?: Display full help screens
  1261.  
  1262.        The command "ARJ -?" displays several screens of help
  1263.        information with page pauses.  The command "ARJ -? -jp" displays
  1264.        the help screens without page pauses.  You can also redirect the
  1265.        output to a file as in:
  1266.  
  1267.        ARJ -? > help.txt
  1268.  
  1269.        ARJ may not detect network file redirection and will pause per
  1270.        screenful.
  1271.  
  1272.     -: (All) skip any more switch options
  1273.  
  1274.        The switch option "--" will cause ARJ to stop looking for any
  1275.        more switch options on the command line.  This is useful for
  1276.        entering filenames beginning with "-".
  1277.  
  1278.        Example:  ARJ a archive -- -file
  1279.  
  1280.     +: (All) inhibit ARJ_SW usage
  1281.  
  1282.        The switch option "-+" will inhibit ARJ from using the value of
  1283.        the ARJ_SW variable in ARJ switch processing.
  1284.  
  1285.        Example:  ARJ a archive -+ *.*
  1286.  
  1287.     !: (All) set list char
  1288.  
  1289.        This option allows the user to set the character used for list
  1290.        files.  The option "-!" with no specified character toggles
  1291.        (turns off) the current list file character (default "!").
  1292.  
  1293.        Syntax:  ARJ a archive -!@ @list.fil
  1294.             ARJ a archive -! !.bat
  1295.  
  1296.        The first example above sets the list file character to the one
  1297.        used by LHA and PKZIP.
  1298.  
  1299.     $: (auex) add/extract volume label
  1300.  
  1301.        This option allows the user to store or extract DOS volume
  1302.        labels in ARJ archives.  It is possible to have multiple labels
  1303.        in one archive.  At ARJ 2.10 and above, you can only add or
  1304.        extract volumes labels at DOS 2.0 and above.  The "-$" option
  1305.        may be specified with or without a drive specification.  The
  1306.        drive can be specified by appending the letter and optionally
  1307.        the ":" to "-$".  If none is specified, ARJ assumes the current
  1308.        drive unless a specified target base directory has a drive
  1309.        specification.
  1310.  
  1311.        WARNING:  Currently, ARJ allows more than one volume label and
  1312.        duplicate volume labels in the same archive.  You can delete one
  1313.        or more duplicate labels with the "ARJ d -q archive label"
  1314.        command.  ARJ will query you on each occurrence of "label".
  1315.        This "faulty" mechanism allows a file and label of the same name
  1316.        to be added to an archive.  The capability of having duplicate
  1317.        labels in the same archive MAY NOT be present in future versions
  1318.        of ARJ.
  1319.  
  1320.        The SFX and SFXJR modules DO NOT support volume label extraction!
  1321.  
  1322.        On the list screen, volume labels will be indicated by the "V"
  1323.        under the "T" column.
  1324.  
  1325.        Syntax:  ARJ a archive -$           add all files and the label
  1326.                            of the current drive.
  1327.             ARJ a archive ... -$B      add only the label of drive B
  1328.             ARJ a archive ... -$B:     add only the label of drive B
  1329.             ARJ u archive ... -$B:     add only the label of drive B
  1330.  
  1331.        To extract volume labels, you must select the label by setting
  1332.        "-$" and specifying a matching wildname/filename.
  1333.  
  1334.        Syntax:  ARJ e archive doslabel -$  extract the label named
  1335.                            doslabel to the current drive.
  1336.             ARJ e archive -$D:           extract all files to the
  1337.                            current drive and extract the
  1338.                            label to drive D:.
  1339.             ARJ e archive label B:\ -$ extract all files to B:\ and
  1340.                            the label to drive B.
  1341.  
  1342.        ARJ will display all labels over 8 characters with a "." in it
  1343.        like a normal DOS filename.    However, ARJ will not restore this
  1344.        extra "." when extracting.  ARJ will only create standard
  1345.        uppercase DOS volume labels.
  1346.  
  1347.        Volume labels created by utilities other than standard DOS
  1348.        commands like LABEL and FORMAT may cause label access problems
  1349.        for ARJ.  For example, Norton's VL.EXE can create labels with
  1350.        lowercase letters.  You will need to use LABEL.COM to delete
  1351.        these labels in order to let ARJ set a new label.  Programs that
  1352.        can delete unusual labels have to do absolute writes to disk or
  1353.        use a wildcard ("*.*") delete of files with the label attribute
  1354.        in the root directory.  A single bit corruption in the program
  1355.        can result in the deletion of ALL files in the root.  ARJ
  1356.        currently chooses not to take that risk.
  1357.  
  1358.     a: (afu) allow any file Attribute
  1359.  
  1360.        By default ARJ will not select system or hidden files via
  1361.        wildcarding unless the "-a" option is specified.
  1362.  
  1363.        The "-a1" switch causes ARJ to add any directories in the
  1364.        selected set of matching filespecs to the archive being built.
  1365.        This switch also selects hidden and system files as in the "-a"
  1366.        switch.  Even empty directories will be added.  The "l" command
  1367.        will display such directories with a "D" under the "T" (file
  1368.        type) header.
  1369.  
  1370.        Older releases of ARJ will skip over empty directory entries.
  1371.        The ARJSFX and ARJSFXJR modules CAN process empty directory
  1372.        entries.
  1373.  
  1374.        This option is useful for saving software directories with
  1375.        needed empty directories.
  1376.  
  1377.     b: (afu) Backup changed files
  1378.  
  1379.        The "-b" switch will select only files that have the archive bit
  1380.        set.
  1381.  
  1382.        If you specify the "-b1" option, files with the archive bit set
  1383.        will be selected and the archive bits of all archived files will
  1384.        be reset after a successful archive has been built.
  1385.  
  1386.        Example:  arj a a:backup1 c:\*.* -b1 -r -va     simulates BACKUP
  1387.        command.
  1388.  
  1389.        The "-b2" switch does NOT select files.  It causes ARJ to reset
  1390.        the archive bits of added files.  If the "-f" or "-u" option has
  1391.        been selected, ARJ will reset the archive bits of files that are
  1392.        already duplicated in the archive.
  1393.  
  1394.        Example:  arj a e:archive c:\*.* -b2 -r    archives all files on
  1395.        the C drive and resets all archive bits.
  1396.  
  1397.     c: (All) skip time-stamp Check
  1398.  
  1399.        Normally with the "u" and "f" commands, ARJ will only update
  1400.        files to an archive which are newer.  The "-c" switch will cause
  1401.        ARJ to update the archive regardless of the date-time modified
  1402.        time stamps.
  1403.  
  1404.        When extracting files from an archive with the "-y" and "-f"
  1405.        switches set, ARJ would normally skip extracting older files.
  1406.        The "-c" switch will force ARJ to extract these older files.
  1407.  
  1408.     d: (afu) with Delete (move)
  1409.  
  1410.        This switch provides the standard MOVE command.  Successfully
  1411.        added files will be deleted.  When used with the "-f" or "-u"
  1412.        option, ARJ will also delete files that are already duplicated
  1413.        in the archive.  ARJ will prompt the user before deleting the
  1414.        files unless the "-y" switch is specified.  Also, you can use
  1415.        the "m" command which does not prompt before deleting the files.
  1416.  
  1417.        ARJ a archive filename -d -y       is equivalent to
  1418.  
  1419.        ARJ m archive filename          and
  1420.  
  1421.        ARJ a archive filename
  1422.        delete filename
  1423.  
  1424.     e: (afu) Exclude paths from filenames
  1425.  
  1426.        By default ARJ always stores the pathname of the archived file.
  1427.        This switch will cause ARJ to store only the filename component.
  1428.  
  1429.        The "-e1" switch option causes ARJ to NOT store the base
  1430.        directory name with the filenames in the archive.
  1431.  
  1432.        Example:  ARJ a archive C:\SOFTWARE\ARJ\ *.* -r -e1
  1433.  
  1434.        In the above example, ARJ will NOT store the C:\SOFTWARE\ARJ\ as
  1435.        part of the filenames.
  1436.  
  1437.        When updating files within an archive, ARJ uses the full
  1438.        pathname to match against the full name of the selected files.
  1439.        The "-e" and "-e1" option affect this exact matching.  If "-e"
  1440.        is specified, only the filespecs of the selected files will be
  1441.        matched against the full pathname of the files in the archive.
  1442.        If "-e1" is specified, the full pathname minus the base
  1443.        directory of the selected files is used to match against the
  1444.        full pathname of the files in the archive.
  1445.  
  1446.        In other words, ARJ will only update a file within an archive if
  1447.        the name of the new file as stored in the archive would be
  1448.        identical to the name of the original file stored in the
  1449.        archive.
  1450.  
  1451.     f: (All) Freshen existing files
  1452.  
  1453.        This switch used with the "e" or "x" commands causes ARJ to only
  1454.        extract newer files from the archive.
  1455.  
  1456.        This switch used with the "m" command causes ARJ to update only
  1457.        input files with newer dates than the ones in the archive.
  1458.        After the archive has been updated, all updated selected files
  1459.        and all up to date selected files will be deleted.
  1460.  
  1461.        The ARJ m -f command is very similar to the LHARC m command.
  1462.  
  1463.     g: (All) Garble with password
  1464.  
  1465.        This switch followed by a password "-gpassword" will encrypt or
  1466.        decrypt an archived file.  During a "l" or "v" command, a
  1467.        garbled file will display an "G" after the method number.
  1468.  
  1469.        Example:  ARJ e archive -gpassword
  1470.  
  1471.        Using the wrong password during extraction will result in a
  1472.        "Bad Huffman code" or "Bad CRC" error message.
  1473.  
  1474.     i: (All) with no progress Indicator
  1475.  
  1476.        Do not display the percentage progress indicator.  The progress
  1477.        indicator appears during the add, extract, search, and test
  1478.        operations.
  1479.  
  1480.        The "-i1" option provides a bar type graphical progress
  1481.        indicator for the compression, extraction, and testing type
  1482.        commands of ARJ.  This provides an alternative to the simple
  1483.        numeric increasing percentage progress indicator.
  1484.  
  1485.     j: (All) selects alternate set of switch characters.
  1486.  
  1487.        This switch toggles the set of switch characters.  The toggle is
  1488.        reset at end at of each separate switch sequence back to the
  1489.        main set of switch characters.
  1490.  
  1491.        For example, "-ja" is not the same function as "-a".  However,
  1492.        "-jja" is the same as "-a" because of the double toggle.  Also,
  1493.        "-jaje" is NOT the same as "-ja -je".  The switch sequence
  1494.        "-jae" is the same as "-ja -je".
  1495.  
  1496.     k: (Upd) Keep archive file backup
  1497.  
  1498.        Backup the original archive file during an update.  The old
  1499.        archive will be suffixed with ".BAK".  Any existing ".BAK" file
  1500.        will be overwritten.
  1501.  
  1502.     l: (All) create List_name file
  1503.  
  1504.        This switch will cause ARJ to dump to the filename after the
  1505.        "-l" switch all of the filenames to be processed by this ARJ
  1506.        command.  This list contains all files that matched the file
  1507.        wildnames given on the command line.  Other options do NOT
  1508.        affect the output of filenames to this list file.  To get an
  1509.        index file for backup purposes, use the "-ji" option.
  1510.  
  1511.        This list file can be used as a listfile on the command line.
  1512.  
  1513.        Example:  ARJ a -lname.lst archive *.exe
  1514.  
  1515.        This example will create a file named "name.lst" with all *.exe
  1516.        files.
  1517.  
  1518.     m: (afu) with Method 0, 1, 2, 3, 4
  1519.  
  1520.        Method 0 = storing    (no compression)
  1521.        Method 1 = best compression for general use
  1522.                 (default compression method)
  1523.                 (requires 282,000 plus bytes memory)
  1524.        Method 2 = slightly less compression and faster
  1525.                 (requires 282,000 plus bytes memory)
  1526.        Method 3 = less compression and less memory and faster
  1527.                 (requires 250,000 plus bytes memory)
  1528.        Method 4 = fastest compression
  1529.                 (requires 235,000 plus bytes memory)
  1530.  
  1531.        Method 2 (-m2) provides an excellent combination of speed
  1532.        and size reduction.
  1533.  
  1534.        Example:  ARJ a archive *.exe -m2
  1535.  
  1536.        The "-jm" option will usually improve the size reduction of
  1537.        methods 1 and 2 at the cost of speed and memory.  The behavior
  1538.        of "-jm" with -m3 and -m4 is UNDEFINED.
  1539.  
  1540.        Method 4 uses a different decoder than 1 to 3.  Method 4 is
  1541.        almost twice as fast as method 1.
  1542.  
  1543.        During extraction, ARJ uses less memory than during compression.
  1544.        See the section on ARJ LIMITATIONS for more memory usage
  1545.        information.
  1546.  
  1547.     n: (All) only New files (not exist)
  1548.  
  1549.        With the "e" or "x" commands, extract files that do not exist in
  1550.        the target directory.
  1551.  
  1552.        WIth the "a" or "m" commands, archive files that do not exist in
  1553.        the target archive.
  1554.  
  1555.     o: (All) On or after date YYMMDDHHMMSS
  1556.  
  1557.        The switch "-o" by itself means select files modified today.  If
  1558.        "-o" is followed by a date and optionally a time, ARJ will only
  1559.        select files modified on or after that date-time.
  1560.  
  1561.        Example:  ARJ a test -o9001021700    means select files modified
  1562.        on or after Jan 2, 1990, 5:00 PM.
  1563.  
  1564.        Years less than "80" will be considered as 21st century years.
  1565.  
  1566.        There is no option for using other date-time formats.
  1567.  
  1568.        The switch "-ob" selects files modified before today.  If "-ob"
  1569.        is followed by a date and optionally a time, ARJ will only
  1570.        select files modified before that date-time.
  1571.  
  1572.     p: (All) match using full Pathnames
  1573.  
  1574.        When "-p" is specified, ARJ looks for an exact pathname match.
  1575.        This can be modified by the "-e" option.
  1576.  
  1577.        For non-update commands and specified filenames with paths, ARJ
  1578.        will match the full path with or without the "-p" switch.
  1579.  
  1580.        To match directory paths that contain subdirectories, you should
  1581.        use the "-p1" switch.  This switch sets ARJ to match only the
  1582.        initial portion of the pathnames against the wildnames
  1583.        specified.  For example, if your archive contains the TURBOC++
  1584.        directory named TC and you wish to extract the INCLUDE
  1585.        subdirectory along with the subdirectory INCLUDE\SYS, you can
  1586.        use the following command:
  1587.  
  1588.        ARJ e archive TC\INCLUDE\*.* -p1
  1589.  
  1590.        If you wanted to extract all of the INCLUDE\S*.* files including
  1591.        the contents of the SYS subdirectory, you can use the following
  1592.        command:
  1593.  
  1594.        ARJ e archive TC\INCLUDE\S*.* -p1
  1595.  
  1596.     q: (All) Query on each file
  1597.  
  1598.        This switch causes ARJ to prompt the user prior to acting upon
  1599.        each archived file for all but the "j", "l", "t", "v", and "w"
  1600.        commands.  This allows you to selectively delete, add, etc.
  1601.  
  1602.     r: (All) Recurse subdirectories
  1603.  
  1604.        This switch will cause ARJ to recurse any wildcards specified on
  1605.        the command line including ARJ archive filenames by traversing
  1606.        all subdirectories scanning for matches.
  1607.  
  1608.        ARJ will also recurse non-wildcard filenames as in:
  1609.        ARJ a archive FILE.BBS -r
  1610.  
  1611.     s: (Upd) set archive time-Stamp
  1612.  
  1613.        This switch causes ARJ to set the date-time stamp of the archive
  1614.        to that of the newest file in the archive.
  1615.  
  1616.        This option will also work with non-update commands as in:
  1617.        ARJ l archive -s ...
  1618.  
  1619.        The "-s1" switch is used to keep the old archive date-time
  1620.        stamp.  The new archive will have the same timestamp as the
  1621.        original archive.
  1622.  
  1623.        The "-s2" switch is like the "-s" switch except that it only
  1624.        works for archive modification commands.  This makes it more
  1625.        suitable for use in the ARJ_SW environment variable.
  1626.  
  1627.     t: (afu) set file Type
  1628.  
  1629.        This switch causes ARJ to open and read the file to be archived
  1630.        in binary or text mode.  The default is binary mode (-t0).  To
  1631.        archive in text mode, use the -t1 switch.  The "-t" switch is
  1632.        equivalent to "-t0".
  1633.  
  1634.        If you specify the switch "-t0", ARJ will always use the binary
  1635.        mode even for freshening text mode files already in the archive.
  1636.  
  1637.        The file type "text" is only needed for future cross platform
  1638.        transfers of ARJ archives.  It enables ARJ to extract text files
  1639.        to the host file system with the text newline sequence that is
  1640.        correct for that operating system.
  1641.  
  1642.        However, this mode may produce slightly better size reduction.
  1643.        The "-t1" option combined with "-jh65000" can produce some of
  1644.        the best size reduction numbers.  Extraction of files compressed
  1645.        in text mode is significantly slower than the extraction of
  1646.        binary files.
  1647.  
  1648.        DO NOT use the text mode on non-text files!!!  On non-text files
  1649.        ARJ will prematurely stop input if it finds an embedded EOF
  1650.        character (CTL Z).  This will produce a LOSS of data on binary
  1651.        files.  Graphics characters and some printer control characters
  1652.        are considered non-text.  The "-t1" options strips the text to
  1653.        7-bit characters.
  1654.  
  1655.        ARJ will look at the first 4096 bytes of the input file looking
  1656.        for 8-bit non-text data.  If ARJ finds any 8-bit data, it will
  1657.        automatically backtrack and switch to "-t0" (default) binary
  1658.        mode for that particular file.  In addition at the end of
  1659.        compressing the input file, if ARJ finds that the input file
  1660.        size is not greater than 75 percent of the binary file size
  1661.        (size on disk), ARJ will report an error for that input file and
  1662.        increment the error count.  This should help avoid the problem of
  1663.        accidentally compressing executable files with the "-t1" option
  1664.        which results in lost data.    These tests are not foolproof.
  1665.  
  1666.        The original file size reported by the "l" and "v" commands is
  1667.        the actual number of bytes input during text mode compression.
  1668.        This is usually the MS-DOS file size minus the number of
  1669.        carriage returns in the file, since C text mode strips a file of
  1670.        carriage returns.
  1671.  
  1672.        The "-t" option has been modified to allow setting file type by
  1673.        suffix similar to "-js" option.  If you want to set the file type
  1674.        to text mode for .ASM and .C files, you would specify the option
  1675.        "-t1.asm.c".
  1676.  
  1677.        ARJ a archive *.* -t1.asm.c.h.doc
  1678.  
  1679.        If you to specify the binary file type by suffix, you must specify
  1680.        the default file type to text and then specify the type by suffix,
  1681.        because the default file type is normally binary.
  1682.  
  1683.        ARJ a archive *.* -t1 -t0.com.exe.obj
  1684.  
  1685.        Because of the way ARJ checks all files to be archived in text
  1686.        mode, some true text files will not pass the test.  In this
  1687.        case, you can specify the "f" modifier to force text mode.  This
  1688.        modifier can be combined with the "-t1." suffix option.  This
  1689.        will not force ARJ to use text mode on a true binary file.
  1690.  
  1691.        ARJ a archive *.bat -t1f
  1692.        ARJ a archive *.* -t1f.bat.asm.doc
  1693.  
  1694.        One trick that you can do with the -t1 option is to convert UNIX
  1695.        text files to MS-DOS text files.  If you have extracted the
  1696.        files out of the ZOO 2.10 archive and need to convert the
  1697.        linefeeds to carriage return/linefeed, you can use the following
  1698.        commands:
  1699.  
  1700.        ARJ a archive *.* -m0 -t1
  1701.        ARJ e archive *.* -y
  1702.  
  1703.     u: (All) Update files (new and newer)
  1704.  
  1705.        This switch used with the "e" and "x" commands causes ARJ to
  1706.        extract newer and non-existing files.
  1707.  
  1708.        This switch used with the "m" command causes ARJ to update only
  1709.        input files with newer dates than the ones in the archive and
  1710.        add new files to the archive.  After the archive has been
  1711.        updated, all added files and updated selected files and all up
  1712.        to date selected files will be deleted.
  1713.  
  1714.     v: (All) enable multiple Volumes
  1715.  
  1716.        This switch is required to put ARJ into multiple volume mode.
  1717.  
  1718.        This switch allows the creation of multiple volumes in the ADD
  1719.        mode.  The command "arj a a:arjvol \*.* -b -r -v360000" allows a
  1720.        user to backup up all files changed since the last backup to
  1721.        multiple floppy disks.  ARJ will pause between volumes to allow
  1722.        changing disks.  Subsequent volumes will be suffixed .A01, .A02,
  1723.        .A03, ... , .A99, .A00, .A01, etc.
  1724.  
  1725.        Archived files can be split across volumes.    ARJ will try to
  1726.        fill each volume to within 200 to 3000 bytes of specified
  1727.        maximum size.
  1728.  
  1729.        The command "arj x a:arjvol -v" would restore files starting
  1730.        from arjvol.arj.  You must specify the entire ARJ volume name
  1731.        including the .Ann suffix when starting from the middle of a
  1732.        series of volumes.
  1733.  
  1734.        The pauses between volumes can be suppressed with the "-y"
  1735.        switch.  You should not suppress the pauses when archiving to
  1736.        diskettes or extracting from diskettes.  The "-jy" option will
  1737.        allow you to suppress specific types of queries.
  1738.  
  1739.        ARJ x a:arjvol -v -jyco
  1740.  
  1741.        The above example extracts in multiple volume mode and
  1742.        suppresses prompting for permission to create directories and to
  1743.        overwrite existing files.  ARJ will assume yes in these cases.
  1744.  
  1745.        Because of the splitting process, archived split files with a
  1746.        size of zero bytes are possible.  This is not an error.
  1747.  
  1748.        If you comment your archives with long comments, you should take
  1749.        that into account when specifying volume size.  You should
  1750.        specify a smaller volume size during the "a" command before
  1751.        adding the comments.
  1752.  
  1753.        The "-v" switch will accept the abbreviations 360, 720, 1200,
  1754.        and 1440.  These will be translated to 362,000, 730,000,
  1755.        1,213,000, and 1,457,000 bytes, respectively.  Please note that
  1756.        if the available disk space is less than the requested amount,
  1757.        ARJ will prompt the user for permission to continue.
  1758.  
  1759.        You can use the "K" modifier as a shortcut for "000".  For
  1760.        example, 100K means 100000.    "K" does not mean 1024.
  1761.  
  1762.        The "-vv" switch turns on the next volume beep option.  When you
  1763.        select this option, ARJ will sound a beep prior to the next
  1764.        volume.  The "v" modifier must come before any other modifier.
  1765.  
  1766.        The "-va" switch sets the disk space auto-detect option.  ARJ
  1767.        will check for the disk space available on the target directory
  1768.        and try to use all or most of it.  This option is aimed at
  1769.        diskette usage.  Please note that this switch option detects
  1770.        free disk space.  It does not detect formatted disk space.
  1771.        If the space available is less than 10,000 bytes, ARJ will
  1772.        prompt the user for permission to continue.
  1773.  
  1774.        Examples:  ARJ a A:backup -b -va
  1775.               ARJ a backup -v360
  1776.  
  1777.        The switch modifier "s" can be used to make ARJ execute one
  1778.        specified system command prior to each volume or make ARJ pause
  1779.        for manual execution of system commands.  This is useful for
  1780.        purging target diskettes before ARJ writes to them.    The "s"
  1781.        modifier must follow the "a" modifier or the volume size.
  1782.        Optionally, after the "s" modifier, you can specify a system
  1783.        command or batch file name.    ARJ will automatically execute the
  1784.        command or batch file before each volume.  If the command has
  1785.        embedded blanks, then the entire switch option must be
  1786.        surrounded by double quotes.  The system command is executed
  1787.        before ARJ executes the auto-detect space option.
  1788.  
  1789.        Examples:  ARJ a A:backup -vas
  1790.               ARJ a A:backup -vvas
  1791.               ARJ a A:backup -v360s
  1792.               ARJ a A:backup -vv360s
  1793.               ARJ a A:backup -vaspurge.bat
  1794.               ARJ a A:backup -v360sdelete.bat
  1795.               ARJ a A:backup "-vasFORMAT A:"
  1796.               ARJ a A:backup "-vasDIR C:\ "
  1797.  
  1798.        Note that the last example has a space before the last double
  1799.        quote mark.    If the last space is missing, the internal command
  1800.        line parser will make the double quote mark part of the DIR
  1801.        command.
  1802.  
  1803.        Volume archives can be used as stand-alone archives save for the
  1804.        files that are split across volumes.
  1805.  
  1806.        It is recommended that the "-jt" (test archive) option be used
  1807.        with the "-v" switch to ensure perfectly built volumes as it is
  1808.        tedious to retest volumes after they are built.
  1809.  
  1810.        During ARJ operation in non-update commands, ARJ will not abort
  1811.        when it cannot open the correct sequential ARJ volume archive.
  1812.        It will report the open error and proceed to the "Ok to process
  1813.        the next volume?" prompt.  At this point it is possible to swap
  1814.        diskettes to put the correct volume in place.  This feature is
  1815.        disabled if the "-y" option has been specified.
  1816.  
  1817.        For those who have enough free hard disk space, the -v option
  1818.        can be used to make backing up the hard disk fairly easy.  ARJ
  1819.        can be set to create multiple floppy sized volumes on the hard
  1820.        disk for later copy to diskettes.  So even if ARJ is slow, you
  1821.        can fire up an ARJ backup and some time later, you can quickly
  1822.        copy the volumes to floppies.  Below are sample backup commands:
  1823.  
  1824.        arj a backup *.* -b2 -r -v360 -y -jt -js    full backup
  1825.        arj a backup *.* -b1 -r -v360 -y -jt -js    incremental backup
  1826.  
  1827.        See the "-jn" and "-jx" options to see how to recover from an
  1828.        abort in the middle of a backup type operation.
  1829.  
  1830.        WARNING:  Updating multiple volume archives with the "-v" switch
  1831.        set is NOT recommended, especially if the new file sizes are not
  1832.        identical.
  1833.  
  1834.        TIP:
  1835.  
  1836.        To pre-determine the number of diskettes required to archive a
  1837.        set of data, you can take advantage of the "s" option of the
  1838.        "-v" switch.  The "s" option lets you execute a DOS command
  1839.        prior to each volume.  You can specify a command that deletes
  1840.        the previously created archive volume.  This lets you use the
  1841.        same floppy diskette/hard disk space to build the multiple
  1842.        volumes.
  1843.  
  1844.        Example:  ARJ a -r "-vasdel a:volume.a??" -y a:volume c:\*.*
  1845.  
  1846.     w: (Upd) assign Work directory
  1847.  
  1848.        By default, ARJ builds a new ARJ archive file in the same
  1849.        directory as the old archive file.  By specifying the "-w"
  1850.        switch, you can specify the working directory where the
  1851.        temporary archive file will be built.  After the temporary
  1852.        archive file is built, it is copied over the original one and
  1853.        deleted.
  1854.  
  1855.        Normally ARJ requires enough disk space for the original archive
  1856.        and the new temporary archive.  Specifying the "-w" switch
  1857.        allows you to move some of that disk space requirement to
  1858.        another directory.
  1859.  
  1860.        If the copy of the temporary archive on top of the original
  1861.        archive fails because of an I/O error, you will have to manually
  1862.        do the copy.  ARJ will not delete the temporary archive in this
  1863.        error situation.  If you CTL BREAK during the copy process, ARJ
  1864.        will delete both the temporary archive and the original archive
  1865.        files.
  1866.  
  1867.        Example:  ARJ a -we:\temp\ archive *.c
  1868.  
  1869.        For speed reasons, you should always use the "-w" option when
  1870.        creating or modifying archives on diskettes.  You should specify
  1871.        a work directory on your hard disk or ramdrive.
  1872.  
  1873.        Example:  ARJ a -we:\ b:archive *.c
  1874.  
  1875.     x: (All) Exclude filenames
  1876.  
  1877.        This switch is used to exclude filenames or wildnames from the
  1878.        list of filenames to be processed.
  1879.  
  1880.        Example:  ARJ a archive soft\*.* -r -x*.exe -x*.obj -xtest
  1881.  
  1882.        This example will archive all files in the soft directory and
  1883.        sub-directories with the exception of any files named "test"
  1884.        or ending in ".exe" and ".obj".
  1885.  
  1886.        You can also specify an exclude file list by preceding the
  1887.        filename with the list character "!".  The exclude file list
  1888.        must contain a list of filenames/wildnames one per line with no
  1889.        leading or trailing blanks.
  1890.  
  1891.        Example:  ARJ a archive soft\*.* -r -x!exclude.lst
  1892.  
  1893.        You can specify a pathname to exclude as in:
  1894.  
  1895.        ARJ a archive \dir\*.* -r -x\dir\*.*
  1896.  
  1897.        In the above example, ARJ will exclude all files in \dir
  1898.        but not the subdirectories in \dir.
  1899.  
  1900.        The "-x" option also allows you to exclude an entire path
  1901.        including subdirectories from being selected for processing.
  1902.  
  1903.        Syntax:  ARJ a archive C:\*.* -xC:\TEMP\
  1904.  
  1905.        The "\" after C:\TEMP indicates to ARJ that everything below
  1906.        C:\TEMP\ is to be excluded.
  1907.  
  1908.        Note that the exclude directory option requires that the
  1909.        directory be specified in the same relative path that the
  1910.        selected files use.
  1911.  
  1912.        Example:
  1913.  
  1914.        arj a archive \temp\*.* -x\temp\firstdir    is correct usage
  1915.        arj a archive \temp\*.* -xC:\temp\firstdir    is NOT correct because
  1916.                             of the C:
  1917.  
  1918.        The "-x" switch also works for non-update commands like
  1919.        "e"xtract and "l"ist.
  1920.  
  1921.        Examples:
  1922.  
  1923.        arj e archive -x*.exe       extract all files except *.exe files
  1924.        arj l archive -x*.exe -x*.obj   list all files except *.exe and *.obj
  1925.  
  1926.        A maximum of 8000 filenames or wildnames can be excluded.
  1927.  
  1928.        Note that the "-x" option is unaffected by the "-p" option.
  1929.  
  1930.     y: (All) assume Yes on all queries
  1931.  
  1932.        Use this switch for batch type uses of ARJ.    This switch
  1933.        disables most of the normal user queries during ARJ execution.
  1934.        Use this switch to suppress overwrite queries in the "e" and "x"
  1935.        commands, to suppress the make new directory query in the "e"
  1936.        and "x" commands, to suppress the new filename prompt when an
  1937.        open file operation fails in the "e" and "x" commands, to
  1938.        suppress the pause during the "s" command and to suppress the
  1939.        next volume pause using the "-v" option.
  1940.  
  1941.        Use this option with due caution, especially during extraction
  1942.        as this sets ARJ to overwrite files.  However, the "-n" option
  1943.        can be used to avoid any overwriting.
  1944.  
  1945.        As an alternative, you can use the "-jy" option which lets you
  1946.        suppress individual types of user queries.
  1947.  
  1948.     z: (afuce) supply file for archive comment
  1949.  
  1950.        The "-z" switch has been provided to facilitate batch commenting
  1951.        of ARJ archives with the "c" command.  When the "-z" option has
  1952.        been specified with or without a comment file, ARJ will only
  1953.        process the archive header comment and will skip any file
  1954.        commenting unless the "-jz" switch has been specified.
  1955.  
  1956.        A comment file containing only a single blank can be used to
  1957.        erase comments from ARJ archives.
  1958.  
  1959.        Syntax:  arj c archive -z
  1960.             arj c archive -zcomment.txt
  1961.             arj a archive -zcomment.txt
  1962.  
  1963.        The "-z" option also allows one to dump the ARJ archive header
  1964.        comment to a file.  This will only extract the main archive
  1965.        comment and not the individual file comments.
  1966.  
  1967.        Syntax:  arj e archive ... -zcomment.txt    dumps only the comment
  1968.             arj x archive -zcomment.txt        dumps comment and files
  1969.  
  1970.        ja: (All) show ANSI comments
  1971.  
  1972.        Display any ANSI escape sequences unaltered.  By default, escape
  1973.        characters in comments are not displayed.  Not displaying ANSI
  1974.        command is the default because of ANSI BOMBS.  Using ANSI
  1975.        commands, it is possible to redefine the keyboard of users using
  1976.        certain ANSI drivers.  For example, a key could be redefined to
  1977.        "echo y | del \*.*".
  1978.  
  1979.        jd: (exlv) ensure free Disk space
  1980.  
  1981.        In extraction mode, this option causes ARJ to always ensure that
  1982.        it will leave the user specified amount of disk space available.
  1983.        ARJ will skip files that would exceed the disk space available
  1984.        limit.  Files that are skipped will each count as an error.    The
  1985.        default free space is zero bytes.
  1986.  
  1987.        Example:  ARJ e archive basedir\ *.doc -jd100K
  1988.  
  1989.        In the above example, ARJ will not extract any files that will
  1990.        cause the disk free space to be less than 100,000 bytes.  The
  1991.        "K" is a synonym for "000".    For example, 100K means 100000.
  1992.  
  1993.        In "l"ist or "v"erbose list mode, this option sets an error
  1994.        check at the end of the listing screen based upon the total of
  1995.        the original sizes of the files selected.  If the total size
  1996.        would exceed the user specified free space limit, ARJ will
  1997.        report an error at the end of the listing screen.
  1998.  
  1999.        Example:  ARJ l archive *.doc -jd10000
  2000.  
  2001.        In this example, ARJ will report an error if the current
  2002.        available disk space minus the total of the *.doc files is less
  2003.        than the specified minimum of 10,000 bytes.
  2004.  
  2005.        Example:  ARJ e archive *.* -jd0
  2006.  
  2007.        In this example, ARJ will skip extraction of any files that
  2008.        would result in a disk full error.
  2009.  
  2010.        je: (Upd) create self-Extracting archive
  2011.  
  2012.        This option causes ARJ to create a self-extracting .EXE file
  2013.        instead of an .ARJ file.  This ARJSFX self-extractor is about
  2014.        15000 bytes in size and supports full pathname extraction.  The
  2015.        "-je1" switch creates a smaller self-extracting .EXE file.  The
  2016.        ARJSFXJR module is about 5400 bytes in size.  Both modules
  2017.        supports display of the archive comment.  The ARJSFX module
  2018.        also provides a query to continue the extraction.
  2019.  
  2020.        The SFX modules do NOT support multiple volume archives.  That
  2021.        would serve little purpose because you would have to distribute
  2022.        multiple files anyway.  In this case, DEARJ (available to
  2023.        registered users) would serve adequately.  DEARJ supports all of
  2024.        ARJ extraction functionality including multiple volume archives.
  2025.  
  2026.        At ARJ 2.10, the SFX executable modules are pre-compressed using
  2027.        LZEXE.  This may cause false indications with EXE scanning
  2028.        programs showing that an ARJ SFX archive is a LZEXE compressed
  2029.        file.  Only the executable header module is LZEXE compressed.
  2030.        The actual archive is ARJ compressed, of course.  The LZEXE
  2031.        header is modified to avoid extraction by UNLZEXE type programs.
  2032.        UNLZEXE will truncate an ARJ self-extractor of its archive.
  2033.  
  2034.        Both SFX modules have an identification string located in the
  2035.        first 1000 characters of the executable.  The identification
  2036.        string is "aRJsfX" without the quotes.
  2037.  
  2038.        The current commands ARJSFX supports are:
  2039.  
  2040.        Usage: ARJSFX [-command] [-switch(s)] [directory\] [file(s)]
  2041.  
  2042.        Commands:
  2043.        e: Extract files           v: Verbosely list contents
  2044.        l: List contents           x: eXtract files with pathname (default)
  2045.        t: Test contents
  2046.  
  2047.        Switches:
  2048.        a: show ANSI comments       n: only New files (not exist)
  2049.        c: skip time stamp Check    p: match with Pathname
  2050.        f: Freshen existing files   u: Update files (new + newer)
  2051.        g: unGarble with password   y: assume Yes on queries
  2052.  
  2053.        NOTE!!!  ARJSFX uses the "-" character before all commands and
  2054.        switches.  This is to allow extraction of files named e, l, etc.
  2055.  
  2056.        The default ARJSFX command is "-x" extract files with pathnames.
  2057.        At ARJSFX startup, the self-extracting archive will display any
  2058.        archive header comment followed by a query to "Continue
  2059.        extraction?".  This query can be suppressed by specifying the
  2060.        "-y" option on the command line.
  2061.  
  2062.        When extracting pathnames, ARJSFX will prompt for permission to
  2063.        create new directories unless the "-y" option is specified.
  2064.        ARJSFX will create absolute or relative directories depending
  2065.        upon whether the root directory has been stored in the pathname
  2066.        in the archive.  Saving the root is done using the "-jf" option.
  2067.  
  2068.        To avoid extracting to paths, the archive creator should use the
  2069.        "-e" option to exclude path specs.  The user extracting the SFX
  2070.        module can specify the "-e" command to extract to the current
  2071.        directory.
  2072.  
  2073.        ARJSFX does not support compression method 4.
  2074.  
  2075.        The ARJSFX module supports the ARJ-SECURITY envelope feature by
  2076.        itself.  The ARJ-SECURITY feature is only available as a
  2077.        licensed option.  It is intended as a feature for software
  2078.        developers.
  2079.  
  2080.        ARJ will create a self-extracting module without an intermediate
  2081.        archive file.
  2082.  
  2083.        Example:  ARJ a software *.* -je
  2084.  
  2085.        If you want to make a self-extracting module from an ARJ
  2086.        archive, use the freshen command with a non-existent filename
  2087.        argument such as "...".  In this case, ARJ will report the
  2088.        self-extractor created with 0 file(s).  The 0 file(s) indicates
  2089.        that no files were modified during the self-extractor creation.
  2090.  
  2091.        Example:  ARJ f software ... -je
  2092.  
  2093.        IMPORTANT:  When executing an ARJSFX module on a system with the
  2094.        CONSOLE device set to RAW mode, the ARJSFX module will abort on
  2095.        user input to avoid hanging the system.  Use of the "-y" switch
  2096.        on the command line will avoid the problem.
  2097.  
  2098.        Example:  ARJ221 -y
  2099.  
  2100.        The ARJSFXJR module created with the "-je1" switch is a
  2101.        stripped-down version of ARJSFX.  ARJSFXJR does not accept any
  2102.        command line options.  It does not support method 4 or text mode
  2103.        "-t1" or garbled "-g" archives.  An ARJSFXJR module containing
  2104.        files with pathnames will extract to the paths.  ARJSFXJR will
  2105.        automatically create directories as needed to build the paths.
  2106.  
  2107.        Example:  ARJ f software ... -je1
  2108.  
  2109.        Both the ARJSFX and ARJSFXJR modules will by default extract to
  2110.        relative/absolute path specs if the archive contains
  2111.        relative/absolute path specs.
  2112.  
  2113.        More examples:
  2114.  
  2115.        Build an SFX module with absolute pathnames for extraction to
  2116.        the absolute pathnames:
  2117.  
  2118.        ARJ a -r -je -jf DISTRIB \product\*.*
  2119.  
  2120.        The user need only type "DISTRIB -y" to automatically recreate
  2121.        the "product" directory on the current drive.
  2122.  
  2123.        Build an SFX module with relative pathnames for extraction to
  2124.        relative pathnames:
  2125.  
  2126.        ARJ a -r -je DISTRIB \product\*.*
  2127.  
  2128.        The user need only type "DISTRIB -y" to automatically recreate
  2129.        the "product" subdirectory in the current directory.  The user
  2130.        can recreate the "product" subdirectory in another directory by
  2131.        typing the command "DISTRIB -y directory_name\".
  2132.  
  2133.        Build an SFX module with relative pathnames for extraction to
  2134.        relative pathnames excluding the base directory:
  2135.  
  2136.        ARJ a -r -e1 -je DISTRIB \product\    *.*
  2137.  
  2138.        The user need only type "DISTRIB -y" to automatically recreate
  2139.        the files and subdirectories of the "product" directory in the
  2140.        current directory.
  2141.  
  2142.        Build an SFXJR module with filenames (no path specs).
  2143.  
  2144.        ARJ a -e -je1 DISTRIB \product\*.*
  2145.  
  2146.        The user need only type "DISTRIB" to automatically extract the
  2147.        entire contents of "DISTRIB.EXE" to the current directory.
  2148.  
  2149.        jf: (afux) store/use Full specified path
  2150.  
  2151.        Normally, ARJ will strip all pathnames of drive letter and root
  2152.        symbol.  This switch disables this action.  When extracting with
  2153.        the "x" command from an archive that was built with this switch,
  2154.        ARJ will normally strip any drive letter and root symbol, unless
  2155.        the "-jf" option is specified again.
  2156.  
  2157.        The "-jf1" option will strip only the drive spec and NOT the root
  2158.        symbol.  You can use either the "-jf" or "-jf1" option during
  2159.        extraction to force use of the root directory.
  2160.  
  2161.        jh: (afu) set Huffman buffer size
  2162.  
  2163.        ARJ has a default static Huffman buffer size of 16384 bytes.
  2164.        This buffer size is better for compressing executable files.
  2165.        The buffer size in ARJ 0.15 and earlier was set to 65500 bytes.
  2166.        That size is better for large text files.  You may specify a
  2167.        buffer size from 2048 to 65535 bytes.
  2168.  
  2169.        Example:  ARJ a archive *.txt -jh65500
  2170.  
  2171.        ji: (afu) set Index filename
  2172.  
  2173.        The "-ji" switch is used to create an index file containing the
  2174.        filenames archived.    This is especially helpful when using ARJ
  2175.        to do multiple floppy type archives.  This file SHOULD NOT be
  2176.        created on the floppy diskette if the floppy diskette is changed
  2177.        during the archival process.
  2178.  
  2179.        If the index file already exists, ARJ will append data to it.
  2180.  
  2181.        The index file contains two types of text lines.  The first type
  2182.        is the volume name record.  It contains the date, time, starting
  2183.        file position, and the archive name.  The second type is the
  2184.        filename record.  It contains only the filename.
  2185.  
  2186.        This information is also useful for restarting "-v" multiple
  2187.        volume archives.  You need the filename and the starting file
  2188.        position.
  2189.  
  2190.        jk: (Upd) Keep temp archive on error
  2191.  
  2192.        When the "-jk" switch has been specified, ARJ will keep the
  2193.        temporary archive during an aborted archive build/update.  During
  2194.        a failed build, ARJ will modify the temporary archive to make it
  2195.        useable by removing the broken portion.
  2196.  
  2197.        jl: (afuetx) display only filespecs
  2198.  
  2199.        The "-jl" option sets ARJ to display only the filespec of a
  2200.        filename during the progress displays.  This will simplify the
  2201.        display output.
  2202.  
  2203.        jm: (afu) set Maximum compression
  2204.  
  2205.        The "-jm" switch sets the maximum compression mode.    This mode
  2206.        changes both method 1 and method 2 to the maximum compression for
  2207.        those methods.  This may increase compression time significantly.
  2208.  
  2209.        You can get a 1 to 8 percent improvement in compression with
  2210.        ARJ -m1 -jm.
  2211.  
  2212.        The "-jm1" option provides slightly less compression than "-jm"
  2213.        at a faster speed.  This can range from slightly faster to much
  2214.        faster.
  2215.  
  2216.        Usage of "-jm" with "-m3" or "-m4" is NOT to be relied on.
  2217.  
  2218.        jn: (afu) set restart Name
  2219.  
  2220.        The "-jn" switch is used to restart interrupted multiple volume
  2221.        archives in conjunction with the "-jx" switch.  All selected files
  2222.        are skipped up to but not including the named file.
  2223.  
  2224.        Example:  ARJ a volume -v360 -r -jn\BIN\TREE.COM -jx1230
  2225.  
  2226.        In the above example, all files scanned up to \BIN\TREE.COM are
  2227.        skipped.  Archiving will start at file position 1230 of file
  2228.        \BIN\TREE.COM.
  2229.  
  2230.        IMPORTANT!!!  The exact name of the starting file must be specified
  2231.        according to the wildnames/filespecs specified.  This name is the
  2232.        same as displayed by the Adding filename display and the same as
  2233.        written to the "-ji" index file.  Please note that \DOS\TREE.COM is
  2234.        not considered the same as DOS\TREE.COM with this option.
  2235.  
  2236.        jo: (am)  query when updating file
  2237.  
  2238.        The "-jo" switch is used to query the user when using the ARJ "a"
  2239.        or "m" commands to add files to an archive.    Before ARJ
  2240.        overwrites an existing internal archive file when using "-jo",
  2241.        ARJ will query the user with "Update <filename>? ".    Without this
  2242.        option, ARJ will overwrite the internal archive file without
  2243.        querying.
  2244.  
  2245.        jp: (lpv) Pause after each screenful
  2246.  
  2247.        This switch will cause ARJ to pause after listing each screenful
  2248.        of data for the "l", "p", and "v" commands.    Press the ENTER key
  2249.        to continue the listing.  You can also enter "quit" to exit ARJ.
  2250.  
  2251.        In one special case, "ARJ -? -jp", the use of the -jp switch
  2252.        toggles page pauses off, because by default in help mode,
  2253.        pausing is on.
  2254.  
  2255.        jr: (All) Recover broken archive files
  2256.  
  2257.        This switch is used to access headers and files in an archive
  2258.        that has been corrupted either with bad data or missing data.
  2259.        This switch lets ARJ find the next valid header for listing,
  2260.        extraction or testing.  ARJ will continue to look for headers
  2261.        until it finds the end of file.  At that point ARJ will print an
  2262.        error message stating that it encountered the end of file
  2263.        unexpectedly.  This is to be expected.
  2264.  
  2265.        If file header data has been corrupted, ARJ will be unable to
  2266.        recover any file data associated with that header.  If file data
  2267.        has been corrupted, ARJ will abort but not delete any extracted
  2268.        file data.  To continue recovering from such a corrupted
  2269.        archive, simply specify one filename to extract at a time or use
  2270.        the "-q" query switch to prompt for individual files.
  2271.  
  2272.        Example:  ARJ e archive -jr -q
  2273.  
  2274.        js: (afu) Store archives by suffix
  2275.  
  2276.        This switch is used to force ARJ to store and not compress files
  2277.        with the following extensions: .ARJ, .ZIP, .LZH, .PAK, .ARC.
  2278.  
  2279.        The file extensions can be specified as follows:
  2280.  
  2281.        ARJ a archive -js.zoo.ice.gif
  2282.  
  2283.        The above command will store files with extensions ending in
  2284.        .ZOO, .ICE, and .GIF.  This overrides the defaults.
  2285.  
  2286.        You can use the environment variable ARJ_SW to set up your own
  2287.        defaults as follows:
  2288.  
  2289.        set arj_sw = -js.arj.zip.lzh -js-
  2290.  
  2291.        The "-js-" turns off the option by default so that when you
  2292.        specify the "-js" switch on the command line, ARJ will already
  2293.        know what extensions you want to store.
  2294.  
  2295.        jt: (Upd) Test temporary archive
  2296.  
  2297.        This switch causes ARJ to execute an archive integrity check on
  2298.        the intermediate temporary archive before overwriting any
  2299.        pre-existing original archive.  If any error occurs, ARJ will
  2300.        not overwrite the original archive.    When used with the "-w"
  2301.        switch option, ARJ will also test the final archive file as well
  2302.        as the temporary archive before deleting any input files.
  2303.  
  2304.        Example:  ARJ m archive *.c -jt
  2305.  
  2306.        SUPER PCKWIK may have incompatibility problems with ARJ and
  2307.        other software.  See the ARJ KNOWN ISSUES section.
  2308.  
  2309.        ju: (All) translate UNIX style paths
  2310.  
  2311.        This switch causes ARJ to translate any subsequently encountered
  2312.        pathnames to MS-DOS style from UNIX style.  This switch also
  2313.        causes translation of filenames entered as a result of ARJ
  2314.        prompts such as in comment filenames.
  2315.  
  2316.        Example:  ARJ a archive -ju /soft/*.c
  2317.  
  2318.        jv: (All) set Verbose display
  2319.  
  2320.        This switch sets ARJ to display more information during the
  2321.        "t"est, "l"ist, and "ex"tract commands.
  2322.  
  2323.        Example:  ARJ t archive -jv
  2324.  
  2325.        The "-jv" switch causes the "v" command to display only the
  2326.        pathnames to the screen.
  2327.  
  2328.        The "-jv1" switch causes the "v" command to display the archive
  2329.        data in manner suitable for sorting on various fields.
  2330.  
  2331.        The "-jv" switch will set the "p", "s", and "w" commands to
  2332.        display IBM graphics characters (128 to 255).
  2333.  
  2334.        jw: (ex)  set extract output filename
  2335.  
  2336.        The "-jw" option allows you to specify the name of the
  2337.        extraction output file.  You should only select one file to
  2338.        extract when using this option.
  2339.  
  2340.        This is similar but not exactly the same as using the "p"
  2341.        command with DOS output redirection.  Using DOS redirection would
  2342.        cause all of the output of the extraction to be put into the
  2343.        output file.  Using "-jw" would cause ARJ to prompt for
  2344.        overwrite permission per each file extracted to the output file.
  2345.  
  2346.        jx: (All) start at eXtended position
  2347.  
  2348.        This switch is used to continue a file on another archive
  2349.        manually.  This switch is normally for use when a multiple
  2350.        volume "a" command has aborted.
  2351.  
  2352.        Example:  ARJ a arjvol.a01 manual.doc -jx100000
  2353.  
  2354.        This example archives manual.doc starting from file byte
  2355.        position 100000 and on.
  2356.  
  2357.        In extraction mode, this sets ARJ to extract a file to an output
  2358.        file at a specified starting position.
  2359.  
  2360.        Example:  ARJ e -jx2000000 archive file1
  2361.  
  2362.        This example extracts the file "file1" to file1 starting at
  2363.        position 2000000 or at the end of the file.
  2364.  
  2365.        This is similar to using the command "ARJ p archive >> output".
  2366.        To duplicate this redirection with ARJ would require the following:
  2367.  
  2368.        ARJ e -jx2000K -jwoutput archive
  2369.  
  2370.        jy: (All) set individual Yes flags
  2371.  
  2372.        This switch is used to suppress individual ARJ user prompts.
  2373.  
  2374.        Syntax:  ARJ e archive -jy<flags>
  2375.  
  2376.        where <flags> is one or more of the following characters:
  2377.        a, c, d, k, n, o, s, v.  ARJ will assume YES for each flag
  2378.        selected.
  2379.  
  2380.        A - skip append query during a multi-volume extraction
  2381.        C - skip create directory query
  2382.        D - skip delete files query
  2383.        K - skip disk space availability query
  2384.        N - skip new filename prompt
  2385.        O - skip overwriting existing file query
  2386.        R - erase all typeahead before prompting
  2387.        S - skip scanned enough text query
  2388.        V - skip ok to proceed to next volume query
  2389.        Y - accept single character Y/N/A/Q inputs
  2390.  
  2391.        Example:  ARJ x volume -v -jyaco
  2392.              suppress append, create, and overwrite prompts.
  2393.  
  2394.        You may set the "-jyyr" option in the environment variable
  2395.        ARJ_SW.
  2396.  
  2397.        jz: (c) supply file for file comment
  2398.  
  2399.        The "-jz" switch has been provided to facilitate batch
  2400.        commenting of one or more files within an ARJ archive.  Only one
  2401.        comment file can be specified.  That file will be used to
  2402.        comment each file specified on the command line.
  2403.  
  2404.        A comment file containing only a single blank can be used to
  2405.        erase comments from ARJ archives.
  2406.  
  2407.        Syntax:  arj c archive file1 -jzcomment.txt
  2408.             arj c archive file1 -zheader.cmt -jzfile.cmt
  2409.  
  2410.  
  2411.      ARJ_SECURITY ENVELOPE:
  2412.  
  2413.     The ARJ-SECURITY ENVELOPE feature provides a facility similar to
  2414.     other archivers.  This feature disallows any type of modification,
  2415.     even commenting, to an ARJ-SECURED archive by ARJ.  Moreover, there
  2416.     are additional internal checks to determine if the ARJ-SECURED
  2417.     archive has been modified in any way.  This feature is intended for
  2418.     use by software developers who distribute their software in
  2419.     archived format and is only available for a special fee.  However,
  2420.     there can be no guarantee that this mechanism cannot be defeated.
  2421.  
  2422.     In normal use, ARJ will display one of two messages when processing
  2423.     an archive with a valid ARJ-SECURITY envelope.    ARJ will either
  2424.     state that the archive MAY have a valid ARJ-SECURITY envelope or
  2425.     that the archive HAS a valid ARJ-SECURITY envelope.  ARJ can only
  2426.     be sure that the envelope is valid when the "t", "e", or "x"
  2427.     command is executed on ALL of the archived files.  In order to
  2428.     fully test the security envelope of an archive, use the "t" command
  2429.     as in "ARJ t archive".
  2430.  
  2431.     If the security envelope has been tampered with or the archive has
  2432.     suffered data corruption, ARJ will display a message stating that
  2433.     the security envelope has been violated.
  2434.  
  2435.  
  2436.      KNOWN ARJ ISSUES/PROBLEMS:
  2437.  
  2438.     When using a working directory, ARJ does not check for disk space
  2439.     before overwriting the original archive.  Be sure you have enough
  2440.     space before updating an archive using the "-w" switch.
  2441.  
  2442.     Because of a bug with extended archive header processing, you
  2443.     should convert to ARJ 2.10 and above as soon as practical.  This
  2444.     bug is NOT a current problem because no version of ARJ supports the
  2445.     use of the extended header.
  2446.  
  2447.     There is a reported problem using ARJ and floppy disk drives when
  2448.     using the disk cache program SUPER PCKWIK 3.30 with advanced
  2449.     diskette support (/D+).  The system may occasionally hang when ARJ
  2450.     attempts to read/write the diskette.  You may also get CRC or
  2451.     Huffman code errors.  Disabling the SUPER PCKWIK option with /D-
  2452.     appears to remove this problem.  Other programs have similar
  2453.     problems with this feature of SUPER PCKWIK.
  2454.  
  2455.  
  2456.      ARJ TECHNICAL SUPPORT:
  2457.  
  2458.     I have received many useful suggestions from users all over the
  2459.     world.    Many of those suggestions are in this version or will be
  2460.     incorporated in later versions of ARJ.
  2461.  
  2462.     I will try to resolve software problems with ARJ as they are made
  2463.     known to me.  Please notify me of any ARJ problems by mail, email
  2464.     or via the ARJ support BBSes mentioned below.  Despite the fact
  2465.     that ARJ is free for many users, I will strive to make ARJ a
  2466.     robust, stable and useful product for all users.
  2467.  
  2468.     I will try to support unregistered users during their evaluation
  2469.     period, but I reserve the right to limit support to any
  2470.     unregistered user if requests become excessive.  Registered users
  2471.     will be eligible to receive technical support by telephone.
  2472.  
  2473.     To ensure a reply when using the postal system, please enclose a
  2474.     stamped self-addressed envelope with your correspondence.  Keeping
  2475.     up with the ARJ mail has become expensive.  Foreign corresponders
  2476.     should include currency or postal coupons instead of stamps.
  2477.     Otherwise, I may be unable to answer your correspondence.
  2478.  
  2479.     Your financial support is needed for the ARJ archiver and format to
  2480.     succeed.
  2481.  
  2482.  
  2483.      ARJ AVAILABILITY:
  2484.  
  2485.     The latest version of ARJ can be obtained from the following
  2486.     sources:
  2487.  
  2488.     ARJ SUPPORT BBSes:  See ARJ_BBS.DOC
  2489.  
  2490.     ARJ is available from a number of other BBSes, but I can only vouch
  2491.     for the integrity of the archive if the ARJ221.EXE verifies its
  2492.     ARJ-SECURITY envelope as valid.  If no security envelope exists,
  2493.     then the data has been re-archived and there is no assurance of
  2494.     data integrity.
  2495.  
  2496.     If none of the above sources are suitable, you may order a copy of
  2497.     the latest version of ARJ directly from the author.
  2498.  
  2499.     Send a check or money order for five dollars (US) to cover the
  2500.     costs of shipping and handling for U.S. delivery.  For foreign
  2501.     delivery, send ten dollars (US) to cover shipping and handling.
  2502.     Please specify diskette size (3.5 or 5.25 inch);  otherwise, I
  2503.     will ship a 3.5 inch diskette.    Please allow a few weeks for
  2504.     delivery, longer for foreign deliveries.
  2505.  
  2506.     Robert Jung, 2606 Village Road West, Norwood, Massachusetts 02062
  2507.  
  2508.  
  2509.      DISTRIBUTORS:
  2510.  
  2511.     The following are authorized distributors for ARJ.  They provide
  2512.     local registration and technical support for ARJ.
  2513.  
  2514.     In the United Kingdom:
  2515.  
  2516.     Chris Pellington         Compuserve: 100020,2607
  2517.     Supreme Computer Peripherals          Phone: +44 342 317976
  2518.     84 Heathcote Drive
  2519.     East Grinstead
  2520.     West Sussex
  2521.     RH19 1ND, England
  2522.  
  2523.  
  2524.     In Germany:
  2525.  
  2526.     C.A.T. Kommunikations-System       Internet: arj@cat.de
  2527.     Systemberatung A. Dunkel         SubNet: arj@cat.sub.org
  2528.     Robert-Schuman-Ring 37            FidoNet: 2:243/12
  2529.     D 6239 Kriftel, Germany         Mailbox: (06192) 42054 (2400 Baud)
  2530.                              (06192) 42057 (19200 PEP)
  2531.                         NUA: 45619270055
  2532.  
  2533.  
  2534.      ACKNOWLEDGEMENTS:
  2535.  
  2536.     LHARC is the name of an archiver by Haruyasu Yoshizaki.
  2537.     PKZIP and ZIP are trademarks of PKWare, Inc.
  2538.     PAK is trademark of NoGate Consulting.
  2539.  
  2540.     I wish to express my gratitude to Haruyasu Yoshizaki (Yoshi) for
  2541.     developing LHARC and distributing its source code.  LHARC gave me
  2542.     the impetus to start studying data compression.  I also wish to
  2543.     thank Haruhiko Okumura for providing additional ideas.    His AR001
  2544.     and AR002 program provided the basic design for the early versions
  2545.     of ARJ.  Much has happened to the ARJ design since then.  In fact,
  2546.     only a small percentage of ARJ is derived from AR source code.    The
  2547.     most important part of ARJ, the LZ77 compression routine, is new
  2548.     and original.
  2549.  
  2550.     I also wish to thank Fabrice BELLARD for LZEXE which is used to
  2551.     squish the ARJ SFX modules.
  2552.  
  2553.     I wish to thank those who have contributed significantly to the
  2554.     development of ARJ.  Those include:
  2555.  
  2556.     Soeren Pingel Dalsgaard
  2557.     Axel Dunkel
  2558.     Jonathan Forbes
  2559.     Ron Freimuth
  2560.     Brian Godette
  2561.     Robb Hufalt
  2562.     Arkady Kleyner
  2563.     Michael Lawler
  2564.     Ken Levitt
  2565.     Eberhard Mattes
  2566.     Mike McCombs
  2567.     Alexander Pruss
  2568.     Joseph Teller
  2569.  
  2570.     And to the many others who have helped or provided messages of
  2571.     support, THANKS!!!
  2572.  
  2573.     I wish to thank my wife, Susan, and my son, Timothy, for putting up
  2574.     with this ARJ obsession for the past year.  Their encouragement and
  2575.     support has been invaluable.
  2576.  
  2577.     But my greatest thanks goes to Almighty God for His inspiration and
  2578.     great salvation.  For apart from Him, ARJ could not have been done.
  2579.  
  2580.  
  2581.      USAGE AND DISTRIBUTION POLICY:
  2582.  
  2583.     See LICENSE.DOC file for license policy.
  2584.  
  2585.  
  2586.      FINAL COMMENTS:
  2587.  
  2588.     I do hope that you find this program as useful as I have.  I would
  2589.     appreciate any suggestions to improve this archiver.
  2590.  
  2591.  
  2592.     You can reached me at:
  2593.  
  2594.     Robert Jung at Channel One BBS        (617) 354-8873
  2595.     Join the mailbox conference with "j mailbox" to send email to me.
  2596.  
  2597.     Robert Jung at Bay State BBS        (617) 598-6646
  2598.  
  2599.     Robert Jung at The Black Depths BBS (508) 427-5379
  2600.  
  2601.     Robert Jung at FIDONET address:  1:16/390.7
  2602.  
  2603.     Robert Jung in the ARJ echo conference available from the Fidonet
  2604.     echo backbone.
  2605.  
  2606.     Robert Jung in the RIME/RELAYNET ARJ conference.  The national
  2607.     number of the ARJ conference is 275.
  2608.  
  2609.     ARJ users are encouraged to use the above echoes to submit
  2610.     questions, problems, and new features requests.
  2611.  
  2612.     Robert Jung in the COMPRESS (ILINK), LHARC (SMARTNET), or ARCHIVERS
  2613.     (RIME/RELAYNET) echo conferences.
  2614.  
  2615.     2606 Village Road West
  2616.     Norwood, Massachusetts 02062
  2617.  
  2618.     Internet address:  robjung@world.std.com
  2619.  
  2620.     Compuserve users can enter   >INTERNET: robjung@world.std.com
  2621.     at the "Send to" prompt.  I prefer CompuServe users to send mail
  2622.     to this address as opposed to my CompuServe userid below.
  2623.  
  2624.     CompuServe userid: 72077,445  (Checked once or twice a week)
  2625.  
  2626.       End of document
  2627.