User's Manual for the ARJ archiver program, October 1997
ARJ software and manual copyright (c) 1990-97 by ARJ Software, Inc.
All rights reserved.
ARJ version 2.60 release
** IMPORTANT NEWS ** ** ** ** ** ** **********
Users of ARJ should read the WHATSNEW.DOC and UPDATE.DOC files
that contain information about the latest improvements to ARJ.
A MAJOR change has been made to the ARJ BACKUP feature.
** ** ** ** ** ** ** ** ** **
TOPICS COVERED IN THIS DOCUMENT
----- ----- --------- ----- -------
DEDICATION
INTRODUCTION
NEW USERS
TERMINOLOGY
MAJOR FEATURES OF ARJ
ARCHIVER BENCHMARKS
RELEASE NOTES
YEAR 2000 COMPLIANCE STATEMENT
TECHNICAL NOTES
ARJR AND DEARJ PROGRAMS
SYSTEM REQUIREMENTS
INSTALLATION
QUICK START TO USING ARJ
HOW TO CREATE AN EXECUTABLE SELF-EXTRACTING ARJ ARCHIVE
CONVERTING OTHER ARCHIVE FILES TO ARJ FORMAT
HOW TO USE ARJ
ARJ LIMITATIONS
IMPORTANT NOTES
TIPS TO USING ARJ EFFICIENTLY
USING ARJ WITHIN OTHER PROGRAMS
ARJMENU PROGRAM
USING ARJ AS A BACKUP PROGRAM
BACKUP TYPE ARCHIVES AND BACKUP FILES
CHAPTER ARCHIVES
WINDOWS 95 LONG FILENAME SUPPORT
ARJ-PROTECT DATA PROTECTION FEATURE
ARJ ANSI COMMENT HANDLING
THE FILESPEC "..."
ARJ ERROR SITUATIONS
ARJ DOS ERRORLEVELS
ARJ USER ACTION PROMPTS
ARJ ENVIRONMENT VARIABLE
ARJ COMMAND LINE SYNTAX
ARJ RESPONSE FILE SYNTAX
ARCHIVE NAME WILDCARDING
ARJ COMMANDS
ARJ SWITCH OPTIONS
ARJ COMMAND OPTIONS
SAMPLE ARJ COMMANDS
ARJ_SECURITY ENVELOPE
KNOWN ARJ ISSUES/PROBLEMS
ARJ ERROR MESSAGES
COMMONLY ASKED QUESTIONS
ARJ TECHNICAL SUPPORT
ARJ AVAILABILITY
ARJ INTERNET MAILING LIST
ARJ WEB SUPPORT
SDN EXTENSION FILES
DISTRIBUTORS
ACKNOWLEDGEMENTS
USAGE AND DISTRIBUTION POLICY
BRIEF BIOGRAPHY OF ARJ AUTHOR
FINAL COMMENTS
DEDICATION:
The ARJ program is dedicated to God and to my family. From the
beginning, our family decided that God would be the senior partner
in our company and that our business practices would strive to
reflect the principles that He has so graciously provided to the
world in His Word.
INTRODUCTION:
ARJ is the result of a desire to use my interest in compression
technology to produce an archiver for personal use on PCs and on
minicomputers that provides power and excellent flexibility.
This document is designed as an ARJ program reference manual and
is not appropriate for novices to ARJ. The file named INTRO.DOC
is intended for novices.
Please note that the shareware versions of the ARJ programs may be
slightly limited in functionality. See the UPDATE.DOC for more
information.
NEW USERS:
Users new to the ARJ archiver should start reading the INTRO.DOC
file instead of this document file.
TERMINOLOGY:
The following terms are used through this manual.
ARCHIVE - This is a file containing one or more files in a
compressed or non-compressed state and containing file related
information such as filename and date-time last modified, etc.
ARJ FILE - This is an archive created by ARJ.
BACKUP TYPE ARCHIVE - This is an ARJ archive that has the internal
backup flag turned on. This feature is obsolete after ARJ version
2.50a. Current and future versions of ARJ will ignore the special
flag set on file backups. Replacing this backup archive scheme is
the chapter archive scheme.
CHAPTER ARCHIVE - This is an ARJ archive that contains one or more
backup chapters. A chapter archive stores a full backup and a
series of incremental backups in a manner that saves disk space by
not storing duplicate files. A chapter archive allows the user to
recover a directory of files as they were when the backup chapter
was made. In other words, if daily backup chapters of a source
directory were made from Monday to Friday, one could recover the
source directory as it was on Wednesday.
COMPRESSION - The process of encoding redundant information into
data requiring less storage space.
COMPRESSION PERCENTAGE/RATIO - The percentage compression reported
by ARJ is a variation of one of the TWO standard methods of
expressing compression ratio in the technical literature. ARJ uses
the compressed size / original size ratio. The other method is the
inverse ratio. When ARJ reports 96% as the compression ratio, which
means that the compressed file is 96 percent of the original size
(very little compression). Other archivers use their own methods.
LHARC uses the same ratio as ARJ.
EXTRACTION or UNCOMPRESSION - The processing of recreating the
exact information that was previously compressed.
SELF-EXTRACTION MODULE (SFX) - This is an archive that is an
executable file that is capable of extracting self-contained files.
TEXT MODE - In text mode, ARJ inputs the file using the C library
text mode which translates the carriage return, linefeed control
characters of MS-DOS to a single linefeed character. This saves
space and provides the option for cross platform file extraction.
On another platform, the host C library would change the single
linefeed to the host text newline separator sequence. In addition,
for platforms such as PRIMOS which set bit 8 in ASCII text
characters, ARJ sets/resets bit 8 according to the platform
extracted to. When extracting a text mode file to the same type
of platform archived from, ARJ will NOT strip the 8-bit text to
7-bit text.
VOLUMES - These are ARJ archives that are in sequence and have been
created by a single ARJ command. Files in the volumes may span
volumes in a split format. These volumes are usable archives.
MAJOR FEATURES OF ARJ:
Currently provides excellent compression in terms of size reduction
compared to the leading archivers including PKZIP 1.10, PKZIP 2.04,
PAK 2.51, ARC 7.0 (ARC PLUS), LHARC 1.13c, LHA 2.13, and ZOO 2.10.
ARJ is particularly effective with database files and documents.
The ability to process and archive up to 65,000 files at one time.
The ability to select files for archival by type and/or attribute.
Support for Windows 95 long filenames in the Windows 95 GUI DOS
environment.
Archive and individual file comments with the option of inputting
comments from a file.
ARJ has MS-DOS 3.x international language support for the proper
casing of filenames and text.
The ability to put the entire ARJ command line in a response type
file as in "ARJ @command.rsp".
32 bit CRC file integrity check.
DOS volume label support.
Default storing of specified pathnames to allow recovery of a
directory structure.
Empty directory support.
Backup support in the chapter archive scheme which allows a series
of backups to be included in a single archive so that one can
recover any one of the backups. The advantage of chapters is that
files that have not changed are saved only once in the archive.
Test new archive before overwriting the original archive option.
Archives that can span diskettes. This allows the user to backup a
full hard disk drive to multiple floppies. Recovery of individual
files is convenient because each diskette archive is an individual
archive except for the split file portion. No need to use SLICE
with ARJ. In addition, ARJ in disk spanning mode can support the
use of 3.5 HD diskettes formatted at higher capacities than 1.44
MBytes. Moreover, ARJ can build these disk spanning archives on
the hard disk drive for later transfer to diskettes.
Archive file re-ordering facility with the option of sorting by
file size, file extension, CRC value, date-time modified, filename,
pathname, compression ratio, file attribute and more.
String searching with context display within archive files.
Built-in facility to recover files from broken archives.
Self-extraction feature that is internal to the ARJ runfile. The
SFX module is full-featured with a built-in help screen. ARJ also
includes a smaller SFXJR module with fewer features.
Multiple volume self-extracting archives.
The ability to embed command line type options inside
self-extracting archives.
Internal string data integrity check in ARJ to resist hacking a la
LHARC to ICE.
Archive security envelope "seal" feature to resist tampering with
secured archives. This feature disallows ANY changes to a secured
archive. Even the archive comments can NOT be changed without
removing the "seal".
Password option to encrypt archived files.
Text mode data compression option to enable movement of text files
from one host machine to another. Text mode also results in
slightly greater file size reduction on MS-DOS machines.
File extraction to screen in a paged mode to permit browsing
through an archive.
Specification of the files to be added to or exclude from an
archive via one or more list files. In addition, ARJ can generate
a list file.
Specification of files to be excluded from processing by ARJ.
Sub-directory recursion during compression and extraction.
ARCHIVER BENCHMARKING:
This is information for those who plan to publish benchmark test
results comparing ARJ with other file archivers.
The ARJ -jm compression is intended to demonstrate the best that
ARJ can do in terms of size reduction. However, the ARJ -jm1
compression is almost as good in terms of size reduction. The ARJ
-m2 compression is intended to compete with LHA 2.12. The ARJ -m3
compression is intended to compete with PKZIP 1.10.
The ARJ -e option is necessary during size benchmarks because ARJ
by default stores the entire specified pathname in the archive as
opposed to other archivers which strip path specs.
Example command: ARJ a benchmrk -e -jm1 files\*.*
The very size of the ARJ runfile adds significantly to the
compression and extraction times when testing smaller archives.
RELEASE NOTES:
The use of ARJ in a business, commercial, institutional, or
government environment requires a license. However, business,
commercial, institutional and government users may use ARJ for
evaluation purposes for a period of 30 days. See the LICENSE.DOC
for full details.
The inclusion of any of the ARJ software (ARJ, ARJR, DEARJ, ARJSFX,
ARJSFXV, ARJSFXJR, REARJ) with software and/or hardware for
distribution requires a license.
While evaluating ARJ, you should use the "-jt" (test archive)
option to verify new ARJ archives of your data.
This version has been tested under DOS 2.11, 3.3, 4.01, 5.0, 6.0,
and 6.2x. It also runs under the DOS windows of Windows 3.x,
Windows 95, OS/2 2.0, Warp 3, and Warp 4.
Here is a suggested command that will test ARJ on all of your files:
ARJ a testvol c:\ "-v360sdel testvol.*" -xtestvol.* -y -jf -jt1 -r
YEAR 2000 COMPLIANCE STATEMENT:
This version of ARJ as well as all previous versions are YEAR 2000
compliant and will operate properly with full functionality up to
the year 2079.
No special user changes or activities are required for this
compliance. No programming or configuration changes are required
either.
The limitation beyond 2079 concerns the syntax of the "-o" and
"-ob" date selection options. The date specification is YYMMDD.
The selectable years range from 1980 to 2079. The date
specifications "800101", "990101", "000101", "790101" stand for
January 1 of the years 1980, 1999, 2000, 2079 respectively.
TECHNICAL NOTES:
A detailed technical description of the ARJ archive format is
available in the UNARJ distribution archive. This archive
contains a description of the archive header formats as well as C
source code for an ARJ archive extractor and lister program. This
source code has been made portable to several platforms including
UNIX, NEXT, DOS, and AMIGA.
ARJR, DEARJ, and REARJ PROGRAMS:
The new programs ARJR and DEARJ are available to registered and
licensed users of ARJ. ARJR is the ARJ program without the help
screen and SFX modules. DEARJ is the ARJR program without the
archive creation/modification functions, the "w" command, and
the "-jt1" and "-jt2" switches.
There are two versions of REARJ, the shareware version and the
registered version. The registered version contains a number of
additional enhancements including environment variable usage,
!listfile capability and selection by file date-time.
See the LICENSE.DOC and ORDERFRM.DOC for more information.
UNARJ and DEARJ are NOT the same program.
SYSTEM REQUIREMENTS:
The ARJ software package is designed to work under DOS versions and
DOS boxes from 2.11 and above. However, certain features have an
OS limitation under DOS versions prior to DOS 3.0: access to the
self-extractors and to the built-in help information. To get the
ARJ help screens and the ARJ self-extraction creation to work,
ARJ.EXE MUST be located in the CURRENT directory. This limitation
exist only in newer versions of ARJ to save on memory usage.
Within the Windows 95 DOS box environment, ARJ supports the use of
Windows 95 long filenames. This feature ONLY works in the Windows
95 DOS box. It does not work under DOS 6.x nor does it work under
Windows NT.
INSTALLATION:
We assume that you have a copy of the self-extracting ARJ module
named ARJ###.EXE where "###" represents the ARJ version number.
Typing ARJ### [RETURN] at the DOS command prompt will initiate the
self-extraction feature. ARJ### will by default extract its files
to the current directory. When ARJ### starts, you will see several
lines of text describing ARJ and then a line asking if you wish to
continue extraction. Entering "yes" or "y" will continue the
extraction. If there are any duplicate filenames in the current
directory, the program will prompt you for overwriting. You can
enter "yes", "no", or "quit".
To install the ARJ software, simply copy ARJ.EXE, REARJ.EXE,
REARJ.CFG, ARJSORT.COM and optionally ARJCRYPT.COM to one of the
directories named in the DOS PATH statement found in your
AUTOEXEC.BAT. On many PCs, this directory may be C:\DOS or C:\BIN.
With MS-DOS 3.0 and above, you can use path notation "\BIN\ARJ e
archive" to use ARJ.
ARJCRYPT.COM is ONLY found in versions of ARJ for USA use.
You may, of course, prefer to use ARJ 1.00 or higher to extract
the contents of ARJ###.EXE file manually.
Example: ARJ e ARJ###.EXE \temp\
QUICK START TO USING ARJ:
See the document INTRO.DOC.
HOW TO CREATE AN EXECUTABLE SELF-EXTRACTING ARJ ARCHIVE:
The command "ARJ y -je archive" will create a full featured
self-extracting archive from an already built archive.
The command "ARJ y -je1 archive" will create a smaller
self-extracting archive.
Syntax: ARJ y -je archive produces archive.exe
The registered version of ARJ lets users create multiple volume
self-extracting archives,
Syntax: ARJ y -je archive -v360K produces archive.exe,
archive.e01, archive.e02 ....
Under DOS systems other than 2.11, 3.2 212r1724c , 3.3, 4.0, 5.0, 6.x, and
7.0, you may have to rename the self-extract module to ARJSFX.EXE
to do the extraction.
See the "-je" option for more information.
CONVERTING OTHER ARCHIVE FILES TO ARJ FORMAT:
Included with this software is the program REARJ. This program can
be used to individually or collectively convert archive files from
other formats to the ARJ format.
The command "REARJ *.ZIP *.ARC *.LZH" will convert all ZIP, ARC,
and LZH archives in the current directory to the ARJ format. See
the REARJ.DOC for more information about REARJ.
HOW TO USE ARJ:
If you type ARJ [return], you will see a simple help screen.
If you type ARJ -? [return], you will see more detailed help
information.
ARJ LIMITATIONS:
ARJ will accept up to: 64 filenames/wildnames on command line
65000 filenames resulting from wildnames
16000 filenames/wildnames to exclude
16000 ARJ filenames resulting from wildnames
2048 character comments
(up to 25 lines or 1 file)
For compressing, ARJ requires approximately 300,000 bytes plus the
memory necessary to store all of the pathnames to be archived when
using the default compression method (-m1).
For extracting, ARJ requires approximately 175,000 bytes plus.
The program DEARJ (available to registered users) requires
approximately 125,000 bytes plus.
There is no limitation on the number of files that can be stored in
one archive. However, under default use, each add command can only
add a maximum of 16,000 files at a time depending upon memory
availability. We expect that a normal maximum of 5,000 to 10,000
filenames can be handled without running out of memory during the
compress phase. The new option "-hm" allows ARJ to archive up to
65,000 files at one time by using disk space or XMS memory instead
of conventional memory.
Example:
ARJ a -r archive \*.* -hm
ARJ currently does not see that wildnames like "C:*.*" and "C:\*.*"
can actually represent the same thing. ARJ would expand each of
those two wildnames into a list that could be up to twice as long
as necessary.
When updating an archive, ARJ creates a temporary file named
ARJTEMP.$nn in the current directory or special work directory if
specified (-hm!F:\).
While ARJ is scanning a wildcard filespec, ARJ will change the name
of the target archive to ARJTEMP.$nn while the scan is proceeding
to avoid including the archive itself in an add or move command.
Also, as a result, you cannot add a file named ARJTEMP.$nn to an
ARJ archive. Please note that the name of this temporary file may
change at a future revision of ARJ.
In this release, ARJ will not use memory for filenames that it does
not select by name or by file attribute (archive bit, file type).
IMPORTANT NOTES:
When using the "-w" working directory switch, ARJ does not check on
space availability before overwriting the original archive if it
exists. Be sure that you have enough disk space for the new
archive before using the "-w" switch. If ARJ aborts in this
situation because of disk space, ARJ will keep the temporary
archive.
By default, ARJ does not see hidden or system files. ARJ will
process system and hidden files when you either specify the "-a"
switch or use the new "-hb" switch.
Like LHARC and PKZIP, ARJ requires extra disk space to UPDATE an
archive file. ARJ will backup the original archive while it
creates the new archive, so enough room must be available for both
archives at the same time.
Unlike PKZIP, ARJ does not require additional work space when
CREATING a new archive.
Currently, ARJ will not extract overwriting a readonly file unless
the "-ha" option is specified.
TIPS TO USING ARJ EFFICIENTLY:
You should use a software or hardware disk cache to speed up ARJ
access. Diskette drives should NOT be write-delay enabled.
Write-delay would prevent ARJ from truly verifying diskette writes.
When archiving to diskettes, you should use the "-w" option to set
a working directory on your RAMDRIVE or hard disk drive to speed up
building the archive.
You should use the "-jt" or "-jt1" option when archiving to
diskettes or when you really want to be sure that ARJ will be able
to extract what you have archived. There are cases where your
hardware or memory resident software will corrupt your work, so the
"-jt" options are excellent insurance. If you have bad sectors on
your diskettes and verify is turned off, DOS will not tell you
about diskette errors until it is too late. These errors are NOT
RECOVERABLE.
Using the "-js" option saves time by not compressing archives of
PKZIP, LHA, ARC, ZOO, ARJ, etc.
You should use the "-e" option whenever you do not need to store
pathnames in an archive that you are creating. This will save
space.
Convert an ARJ archive into a self-extracting archive with a
command like the following: ARJ y archive -je
To capture a comment from an ARJ archive, use the following
command: ARJ e archive ... -zcomment.txt (the "..." is
significant).
ARJ has several compression methods that provide size/time
tradeoffs. Method 4 "-m4" is about twice as fast as method 1. The
"-jm1" and "-jm" options modify the "-m1" option to provide even
greater compression at a cost in time.
USING ARJ WITHIN OTHER PROGRAMS:
Since ARJ uses over 300,000 bytes of memory during compression, it
is difficult to use ARJ in a large application program unless that
program swaps itself out of memory when it executes DOS commands
like ARJ. However, there is at least one shareware program
available that will automatically swap your large application
program out of memory whenever it shells out to DOS to execute a
command. The program SHROOM by Davis Augustine should be able to
solve this memory problem for you. The latest version as of
03/11/92 is named SHROM19C.ZIP on Channel One BBS. According to
the SHROOM documentation, you can reach the author at:
CompuServe id 72230,3053
Davis Augustine
P.O. Box 610
Sausalito, CA 94966-0610
This is not an endorsement of the product SHROOM.
The easiest way we have found to use this product is to type:
SHROOM COMMAND.COM
SHROOM -v COMMAND.COM will let you see SHROOM in action when you
shell out to execute a DOS command.
ARJMENU PROGRAM:
A program called ARJMENU by Michael McCombs is available. As far
as we know, it is the only menu-driven interface program that
supports ALL of the features of ARJ. This program is aimed at
users who hate command line interfaces. ARJMENU allows the user to
pick and choose ARJ options. The user does not have to remember
the ARJ switch syntax. The current version of the program supports
ARJ version 2.30. The author is no longer supporting this program.
ARJ HELP HYPERTEXT PROGRAM:
ARJ-Help is an electronic book (brand named Window Book (TM)) that
allows the user to discover easily how to use ARJ. It runs under
DOS. It is very fast and has a rich set of features which include
full-text search, hypertext links, a table of contents that can be
reorganized to your needs, a complete index, and much more. The
current version can be found on some BBSes as ARJHLP24.EXE.
Window Book, Inc.
P.O. Box 390697
Cambridge MA 02139
USA
TEL: 617-661-9515 or 800-524-0380.
FAX: 617-354-3961
ARCHIVER UTILITIES THAT SUPPORT THE ARJ FORMAT:
The following are some other utilities that facilitate the use of
ARJ. This list is not all inclusive or is it meant as a personal
recommendation.
ARCHIVE MANAGER PRO - Archiver shell
ARJMENU 1.x - ARJ shell
SHEZ 8.x - Archiver shell
ARCMASTER 6.x - Archiver shell
ZGEN 1.x - Archiver shell
ACZAR 1.x - Archiver shell
ARJVIEW - ARJ shell
AVIEW - BBS archive viewer
WINZIP - Windows archiver shell
WINDOWS COMMANDER - WIndows archiver shell
A particularly useful ARJ support utility is SARJ (latest version
is 1.12) by Frederic Taes. It improves upon ARJ compression by
using ARJ to build "solid" archives.
USING ARJ AS A BACKUP PROGRAM:
ARJ can be used as a substitute for a backup program. Now ARJ
includes an error recovery option (-hk) to help protect against
many kinds of data errors.
The most common cause of failure is bad diskettes. You should let
ARJ test the archives ON the diskettes. Testing the archives
before copying them to diskettes is not enough. Critical data
should always be backed up two or more times. Please keep in mind
that damage to compressed data is many times more serious than
damage to uncompressed data.
WARNING: It is our recommendation that you should NOT update
multiple volume ARJ archives of critical data especially backup
archives. A system error could cause the current set of volumes
being updated to be damaged. Use a separate set of diskettes to do
an incremental backup.
The following partial command lines illustrate a full backup
command, an incremental backup command, and a restore command. The
only parts missing are the names of the files to backup/restore.
ARJ a A:backup -r -vvas -a1 -b2 -hk -js -jt -jiC:\backup.inx -wC:\ -m3
ARJ a A:backup -r -vvas -a1 -b1 -hk -js -jt -jiC:\backup.inx -wC:\ -m3
ARJ x A:backup -vv -y
You should familiarize yourself with the above switches so that you
can modify the above command lines as needed.
If you have a RAMDRIVE large enough, you should change the "-w"
option to point to the RAMDRIVE.
If you have enough free hard disk space, you can build all of the
diskette volumes on the hard disk for future transfer to diskette.
In this case, you will need to change the name of the archive to
"C:backup" or similar. The "-vvas" option should be changed to
"-v360", "-v720" or whatever is appropriate for your diskette size.
Please note that 360, 720, 1200, and 1440 are abbreviations for the
standard diskette sizes. Other sizes will require your entering
the entire number. Another change is to add the option "-y" which
will turn off the "Ok to proceed ...." prompt. Lastly, if the "-w"
option is pointing to the hard disk, you should remove the "-w"
option entirely.
ARJ a C:backup -r -v360 <other options> -m3 -y
***IMPORTANT*** Only a maximum of 100 volumes can be built on disk
at one time because of the volume suffix rolling over at *.A99 to
*.A00 when using default archive naming. However, if you specify
the starting archive name with a suffix of ".000" or ".001", ARJ
will create up to 1000 or 999 uniquely named volumes.
ARJ a C:backup.000 -r ...........
Both backup commands will pause for a "system command". You can
execute DOS commands at this point. This is a suitable place to do
a "dir a:" to make sure that your disk is formatted and has enough
free space on it. You may need to execute "format a:" or "del
a:\". A very useful command might be "QDR A:". QDR is a utility
from Vernon Buerg. You will need to type "exit" to allow ARJ to
continue.
If the backup fails after completing one or more diskettes, you can
restart at the next archive after the last successful volume.
There are two methods to do this restart. If you have specified an
index file with the "-ji" option during the failed backup, you can
restart by retyping the EXACT SAME command line as before and
adding the "-jn" option. This will cause ARJ to scan the
previously written index file for the proper restart information.
ARJ will automatically set the correct volume name.
Example: ARJ a a:backup c:\ -r -vvas -jiINDEX.FIL
ARJ a a:backup c:\ -r -vvas -jiINDEX.FIL -jn
The second method is more complicated. Refer to the "-jn" and
"-jx" descriptions for more details. For example, if the above
full backup command failed during diskette two, on filename
"DOS\MODE.COM" which was started at byte 125. This would be the
correct command:
ARJ a A:backup.A01 -r -vvas -a1 <other> -m4 -jx125 -jnDOS\MODE.COM
The most error prone step is determining the correct "-jn" option.
A common error concerns the use of the root directory symbol "\"
with the "-jn" option. Verify the presence or absence of the root
symbol "\" in the backup index file.
If the restore fails after one or more diskettes, simply retype the
same command as before but add the right ".Ann" suffix to the
archive name. If ARJ has aborted because of a disk full on a file
split between volumes, you will have to restart at the first volume
that contains that file.
BACKUP TYPE ARCHIVES AND BACKUP FILES:
This type of archive is obsolete after ARJ version 2.50a. It is
replaced by the chapter archive.
CHAPTER ARCHIVES:
This feature is useful when backing up frequently modified files.
This new feature is designed to make the backup management of a
directory or application easier. It allows the taking of a
sequence of backup "snapshots" of a changing application or
directory. A chapter archive can provide major space savings over
using many separate archives for backup.
For example, a chapter archive could be used to keep track of the
state of a Windows 3.1 directory. An initial chapter backup could
be made of the original Windows 3.1 installation. Then, whenever
a new software package is installed, a new chapter snapshot could
be taken.
ARJ ac winback c:\windows\*.* -r -a1 -jt1
If a Windows problem develops, one can restore Windows back to
any particular chapter for testing.
ARJ x winback c:\ -y -jb5 restore chapter 5
This chapter feature is especially useful for software developers.
Since a chapter archive can contain up to 250 chapters, the change
history of a software source directory for a period of weeks can be
maintained in a single archive. You could take four chapter
snapshots per day for over two months to a single archive. This
would allow you to restore your source directory to one or more
points in time to help you track the appearance of software
problems.
See the "-jb" option for more details.
The limitation on the maximum number of chapters is an internal
resource issue as well as a "recommendation" to build a new
archive. Making thousands of modifications to important backup
data is a somewhat risky activity.
WINDOWS 95 LONG FILENAME SUPPORT:
This version of ARJ supports the use of long filenames under the
Windows 95 GUI in the MS-DOS Prompt environment. It does not
support long filenames under MS-DOS 6.22 and below. It supports
long filenames ONLY when the Windows 95 GUI (graphical user
interface) is running. In other words, there is no long filename
support in Windows 95 MS-DOS mode (accessed from the Win95 shutdown
menu). Moreover, there is NO long filename support in ARJ for
Windows NT.
Windows 95 DOS support (and therefore ARJ) do not support access
to long filenames containing certain characters. For example, a
filename containing the copyright symbol or the trademark symbol
cannot be accessed in a Win95 DOS window with the COPY command
or with ARJ. These type of filenames can only be accessed via
their short names. The Win95 system normally stores filename
characters as two bytes per symbol allowing an alphabet of 65536
possible symbols. Because Win95 DOS only uses one byte per
character position allowing only a 256 symbol alphabet, many
characters are displayed by Win95 DOS as "_".
The small ARJ self-extractor (-je1) does NOT support the handling
of long filenames.
The ARJSFX and ARJSFXV modules (-je) support long filename
handling. However, they will only extract archived Win95 long
filename files under Win95. If long filename files are being
extracted to plain DOS, an error message will be displayed. They
can be forced to extract the Win95 archived files with the "-j"
option.
For compatibility with MS-DOS and older versions of ARJ, ARJ can
create a dual-name compatibility ARJ archive. This is an archive
with both shortnames and longnames stored in it. The longnames are
stored in the file comment field. New versions of ARJ will treat
the dual-name archive according to the operating system
environment. In other words, under MS-DOS, a dual-name archive
will look like a shortname archive. Under Win95, a dual-name
archive will look like a longname archive. This is also true of
the ARJSFX and ARJSFXV modules (-je).
For efficiency reasons ARJ does not repeatedly check for file
system support of long filenames. ARJ only tests the "C:" file
system. An error may occur if ARJ under Win95 tries to access a
disk drive that does not support long filename handling. The "-hf"
option can be used to force ARJ to use the standard 8.3 filename
APIs instead of the longname APIs.
There are four new options "-hf", "-hf1", "-hf2", and "-hf3" that
provide choices in the handling of long filenames. See the
discussion of those options below for more information.
ARJ will save Win95 long filenames in the letter case they are
stored on disk; however, all filename matching is done without
regard to case. In other words, "ThisName.Ext" matches
"thisNAME.ext".
When archiving files under Windows 95, be sure to EXCLUDE files
from processing that are OPEN such as WIN386.SWP.
REMINDER: When specifying filenames with embedded blanks or
symbols like ">", "<", or "|" on the command line, you MUST
quote the filenames.
Examples: ARJ a archive "C:\Program Files\*.*" -r
ARJ c archive "<<<*" -jz -jb
However, please note that ending a quoted filename with a "\"
will not work as expected. The "\" before a special character
will quote it literally. The string \" will result in a literal
double quote mark. This is not a feature of ARJ.
Example: "C:\Program Files\" will be translated to
C:\Program Files"
You will need to use two backslash marks as in "\\".
Example: "C:\Program Files\\"
For Windows 95 disaster recovery, we make use of the program
DOSLFNBK.EXE 1.5 by D. J. Murdoch. With this program while in
plain DOS, you can save all of the long filenames to BACKUP.LFN.
Then you can use ARJ or any other DOS backup scheme to backup
your system including the BACKUP.LFN.
CAUTION: DOSLFNBK 1.5 may not work on all Windows 95 versions.
It apparently does NOT WORK on VFAT32 Windows 95.
Here is a brief list of steps to backup and restore:
1) Make a Win95 startup diskette.
2) Shutdown to MS DOS mode.
3) While you are on the C: drive, execute "DOSLFNBK C:\".
Change to the D: drive (if any) and execute "DOSLFNBK D:\".
Execute DOSLFNBK for each drive on each drive.
4) Use ARJ or other DOS backup program to backup ALL of the files.
Example: ARJ a A:backup C:\*.* D:\*.* -r -a1 -jt1 -va -jf
CAUTION: For important backups, we always make TWO BACKUPS of
our system. All too often, one or more files will not restore
correctly because of some data error (MURPHY'S LAW in action).
5) Save ARJ.EXE or your backup program to diskettes in a
restorable form.
6) Backup finished.
1) Boot from your Win95 startup diskette.
2) Execute "SYS C:" from the A: drive to re-install the boot.
3) Install ARJ.EXE or your backup program on the hard drive.
4) Restore all of the files.
Example: ARJ x A:backup -v -jf -y -ha
5) On each drive, execute "DOSLFNBK /r" to restore the long
filenames.
6) Restore finished.
ARJ-PROTECT DATA PROTECTION FEATURE:
With this version, ARJ can repair "protected" archives that suffer
from slight amounts of data damage (CRC error, bad header, etc). An
ARJ archive is "protected" with the "-hk" option. With the "-hk"
option, ARJ will generate a separate ARJ data protection file. This
protection file is REQUIRED in order to repair damaged ARJ
archives. The size of this file ranges from a minimum of 4096
bytes and upwards. For larger archives, the protection file size
is typically less than one percent of the archive file size.
For this release, the protection file is a separate file. This
avoids the problem of uploading unnecessary data to BBSes and ftp
sites. The name of the protection file is based upon the archive
name plus the extension ".XRJ". Volume protection filenames end
in ".X01", etc.
This protection feature is sector based and allows repair due to
typical types of disk corruption (bad sector, virus damage, cross
links, etc). This type of sector protection is NOT effective for
most data transmission problems where data is missing from the
middle of a transmission.
Technically, this protection feature uses a series of XOR sums and
checksums in order to allow repairs. Larger archives are logically
treated as several streams of data. ARJ can protect each "stream"
from one or two damaged sections 1024 bytes in size. However, for
large archives (1 MB or larger) ARJ can sometimes repair up to four
damaged sections per MByte. The "-hk1, "-hk2" ... "-hk9" options
can offer more data protection at the cost of a proportionately
larger protection file.
The "-hk" option sets ARJ to build a protection file. The "q"
command is used to repair a damaged archive. The repaired archive
is named ARJFIXED.ARJ.
Example: ARJ a archive -hk generates archive.xrj
ARJ q archive repairs archive.arj
ARJ ANSI COMMENT HANDLING:
As of version 2.55, ARJ will use its own ANSI sequence display
handler to display ARJ comments. In previous versions, ARJ
depended upon the "-ja" option and an installed ANSI.SYS driver to
handle the ANSI escape sequences. The "-ja" option has a new
function now. The "-ja" option will set the "P" command to display
files using the new ANSI sequence display handler.
The ARJSFXV module (-je -v) also will display ANSI comments now.
Please note that the ARJ comment field size is limited to about 2K
bytes.
THE FILESPEC "...":
Several times in this document and the UPDATE.DOC file, there is
mention of the filespec "..." (not to be confused with my use of
"...." in this document to mean "and so on"). This filespec is
chosen so as not to match any existing filename. ARJ will NOT
generate an error or warning for not matching "..." specifically.
This is a problem when using ARJ on a NOVELL network as the
filespec "..." is a valid directory name. A partial workaround
is to specify a non-existent filespec such as "@@@" in place of
"...". Or you may use the "-hn" option to specify a name that is
not to match any filename.
ARJ ERROR SITUATIONS:
ADD:
If a user specified file is not found during an add, ARJ will
continue processing, and will keep the archive and terminate with
an error condition. Note that files specified within an ARJ
listfile that are not found during an add will NOT trigger an error
unless the "-hl" option is also specified.
In a disk full condition or any other file i/o error, ARJ will
promptly terminate with an error condition and delete the temporary
archive file unless the user has specified the "-jk" switch.
MOVE:
ARJ will only delete files that have been successfully added to the
archive. If you have specified the "-jt" (test) switch, ARJ will
abort on any error. If you specify the "-jk" switch, ARJ will keep
the temporary archive upon an abort.
EXTRACT:
In a disk full condition or any other file i/o error, ARJ will
promptly terminate with an error condition and delete the current
output file.
CRC ERRORS OR BAD FILE DATA:
In the case where an ARJ archive has been corrupted, ARJ will
report a CRC error or a Bad file data error. These corruptions can
be the result of an unreliable diskette, a computer memory problem,
a file transfer glitch, or incompatible CACHING software. Most of
these errors are the result of file transfer glitches and bad
diskettes. A few are the result of an incompatible interaction
with SUPER PCKWIK 3.3 advanced diskette support or Windows 3.x.
Individual files in an archive that are affected by the CRC or Bad
file data errors CANNOT be recovered. Other files in a damaged
archive can be recovered by extracting them using the "-jr" option.
However, with some preventative action as in the use of the -hk
option to generate a data damage protection file, slightly
corrupted ARJ archives can be fully repaired and all damaged files
recovered.
CRITICAL ERROR HANDLER:
ARJ sets up an interactive critical error handler to handle DOS
critical errors like "sector not found" and "drive not ready". When
a critical error occurs, ARJ will prompt the user with the message
"Retry Y/N?". The user may retry the failed operation by pressing
"Y". Pressing "N" will fail the operation or abort to DOS
depending upon the version of DOS. The user can press Control
BREAK to abort to DOS.
ARJ DOS ERRORLEVELS:
ARJ returns a number of DOS errorlevels for different situations.
0 -> success
1 -> warning (specified file to add to archive not found,
specified file to list, extract, etc., not found,
or answering negatively to "OK to proceed to next
volume...." prompt)
2 -> fatal error
3 -> CRC error (header or file CRC error)
4 -> ARJ-SECURITY error or attempt to update an ARJ-SECURED archive
5 -> disk full or write error
6 -> cannot open archive or file
7 -> simple user error (bad parameters)
8 -> not enough memory
9 -> not an ARJ archive
10 -> XMS memory error (read or write)
11 -> user control break
Please note that DOS batchfiles have a unique method of testing
for a DOS errorlevel. The batch statement IF ERRORLEVEL 0 ....
means if the errorlevel is EQUAL TO or GREATER THAN 0. Generally,
one should test for the highest possible errorlevels first and
proceed lower as in:
ARJ a archive *.*
if errorlevel 9 goto not_arj
if errorlevel 8 goto no_memory
.
.
.
if errorlevel 1 goto minor_error
type ARJ command successful
ARJ USER ACTION PROMPTS:
ARJ prompts the user for action at certain times. There are
several types of prompts. One is for yes/no permission, another is
for a new filename, another is for archive comments, and one other
is for search strings.
The ARJ yes/no user prompts provide a lot of flexibility. In
addition to the normal yes and no responses, ARJ also accepts the
following responses: quit, always, skip, global, and command.
"Global" sets ARJ to inhibit all subsequent user prompts by assuming
YES for all queries as if "-y" were specified.
"Always" sets ARJ to assume YES for subsequent queries of the same
class. For example, answering ALWAYS to the overwrite query will
assume YES for ALL subsequent overwrite queries.
"Skip" sets ARJ to assume NO for ALL subsequent queries of the same
class.
After "always" or "skip" responses, subsequent user prompt
messages will still be output to the screen but no user response
will be accepted.
"Command" prompts for one DOS command and then executes it. ARJ
then returns to expect an answer to the current yes/no query. You
should keep the query in mind as ARJ does NOT always redisplay
the full query message.
Since ARJ uses STDIN for user input, be careful about typing ahead
anticipating prompts. ARJ may prompt you for an unexpected action
and use your earlier input.
The "-jyy" option lets you change the prompting modes to single
character query mode. See the section on "-jy" for more
information.
ARJ ENVIRONMENT VARIABLE:
ARJ will first look for an environment variable named ARJ_SW and
use its value as switch options for ARJ. If ARJ finds such an
environment variable, it will display a message to that effect.
You can inhibit ARJ from using this environment variable by using
the "-+" option. You can also set the name of the environment
variable with the "-+" option as in ARJ a -+ARJ_SW2 archive.
SET ARJ_SW=<switches>
Example: SET ARJ_SW=-w\temp -k -e
Do NOT add any blanks after the variable name ARJ_SW. As in LHARC,
command line switches can be selected to override ARJ_SW settings.
ARJ will allow you to use a different switch character "-" or "/"
in ARJ_SW and in the command line except when using the "-ju"
(unix) option.
If the ARJ_SW environment variable specifies a filename (text not
beginning with a switch character), ARJ will open that filename and
scan it looking for a line of text that begins in column 1 with the
same letter as the ARJ command being executed. The following text
is processed as the ARJ_SW switches. This allows each ARJ command
to have its own switch settings. In addition, ARJ will also look
for the "+" (plus) symbol in column 1 to use as a miscellaneous
switch string. This string will be added to any command switch
string found if any. If no command switch string is found, ARJ
will use the miscellaneous switch string as the ARJ_SW switch
settings. NOTE that the "+" switch settings will NOT be used if
the "+" string occurs below the command switch string.
SET ARJ_SW=C:\ARJ\ARJ.CFG
C:\ARJ\ARJ.CFG contains:
a -jm1 -jt -i1
c -zcomment.txt
+ -jv
l -jp
e -i1
AND is equivalent to:
a -jm1 -jt -i1
c -zcomment.txt
l -jp -jv
e -i1 -jv
f -jv
v -jv
all other commands
.
.
.
In the above example, any ARJ "a" commands will use "-jm1 -jt -i1"
as the ARJ_SW switch options.
The ARJ_SW variable or the ARJ_SW configuration file switch
settings may NOT have quoted switches such as "-vasformat a:".
ARJ COMMAND LINE SYNTAX:
ARJ <command> [-<switch>[-|+|<option>]....] <archive_name>[.ARJ]
[<base_directory_name>\] [<!list_name>|<path_name>|<wild_name>....]
or
ARJ @response_filename [-&] | [-+] | [-+environment_variable]
Commands and switches can be entered in upper or lower case.
Switches can be placed anywhere after the command ARJ.
ARJ supports the use of either "-" or "/" as the switch option
character. The first occurrence of either "-" or "/" that ARJ
encounters in the ARJ_SW variable will determine the switch symbol
for processing ARJ_SW. The first occurrence of either "-" or "/"
that ARJ encounters in the command line will determine the switch
symbol for processing the command line except when the "-ju" (unix)
option has been specified in ARJ_SW. You may NOT mix and match
switch symbols. Throughout this document, the symbol "/" may be
substituted for "-" in switch usage.
Examples: ARJ a A:archive *.* /va /r is correct
ARJ a A:archive *.* /va -r IS INCORRECT USAGE!
Switches specified on the command line will either toggle or
override switches specified with the ARJ_SW environment variable.
Switch usage is identical to that of LHARC.
"-s+" turns on switch "s".
"-s-" turns off switch "s".
"-s" toggles the state of switch "s".
"-sname" provides the name argument for switch "-s".
"--" skip processing of any more switch options.
Switch options CAN be combined to save command line length.
However, some switch options take optional string arguments and
therefore, must be the last option in a combined argument token
string because ARJ accepts the rest of the argument token as the
optional argument. You can combine "-r" and "-i" to make "-ri".
You can combine "-wd:\" and "-i" with "-iwd:\", because the switch
option taking the string argument is last. Please note that
switches that ONLY accept the "+", "-", "0", "1", "2" modifiers can
be combined in any order. The following switches must be last in a
combined switch argument: -g, -l, -m, -o, -t, -v, -w, -x, -z,
-!, -$, -h#, -hb, -hc, -hg, -hk, -hm, -hn, -hx, -jb, -jc, -jd,
-jh, -ji, -jn, -jq, -jp, -js, -jw, -jx, -jy, -jz.
WARNING: The "j" in "-jX" option switches is a SHIFT symbol.
Therefore, a combined "-jatv" is a combination of "-ja", "-jt", and
"-jv", since the "j" shifts the meaning of subsequent symbols in
the argument token string. The use of more than ONE "j" shift
symbol per argument token string is NOT supported for future
versions.
Examples: -rijvta <=> -r -i -jv -jt -ja
-i1kwd:\ <=> -i1 -k -wd:\
ARJ will accept an ending "-" on most switches such as "-w-". The
"-x" switch option is one exception. The one caveat is that for
switches that support an optional argument such as "-wd:\" or
"-t1", that switch option must NOT be followed by a concatenated
switch option such as "-w-r". An argument token string such is
"-rikw-" is acceptable because the "-w" option is the last one. One
special switch combination is the "-jyyr" combination. You can
turn off the "y" and "r" modifiers with "-jyyr-".
The switch option "--" tells ARJ that there are no more switch
options to process in the current command line. This is useful
when you need to enter filenames beginning with "-".
Example: ARJ a archive -- -testfile
The standard ARJ file suffix is ".ARJ". Subsequent multiple volume
archives end in ".A01", ".A02", etc, up to .A99, .A00, .A01. It is
possible to have multiple volumes start at ".001" and go up to
".999".
The ARJ command must be the first non-switch argument after "ARJ".
The ARJ archive name must be the first filename on the command
line. The base directory, if any, must be the second filename
argument. The switches and other filenames can be in any order.
The base directory name should end with "\" (backslash) or ":"
(colon). However, ARJ will still accept directory names without
the "\" character if the directory already exists. This feature is
limited to the add type and extract type commands.
Wild_names follow MS-DOS convention. "*.*" means all files.
"*.DOC" means all files with an extension of ".DOC". "?B*.*"
means all files with a second character of "B".
The default for <wild_name> for all commands except for "d" is
"*.*".
For the add, move, freshen and update commands, filename matching
in the archive requires an exact path match depending upon the "-e"
option. For non-update commands, specified filenames with paths
will force a full pathname match.
You can supply one or more filenames for files containing lists of
files to be added to an archive. The filenames must be listed one
per line with no leading or trailing blanks. The list filename(s)
must be prefixed with "!". If you want to archive a filename
beginning with !, you must use the "-!" option to set a new list
file character.
You can exclude filenames/wildnames from the list of filenames to
be processed by ARJ.
Example: ARJ a software *.* -x*.exe -x*.obj adds all files
in the current directory except .EXE and .OBJ files.
REMINDER: When specifying filenames with embedded blanks or
symbols like ">", "<", or "|" on the command line, you MUST
quote the filenames.
Examples: ARJ a archive "C:\Program Files\*.*" -r
ARJ c archive "<<<*" -jz -jb
ARJ RESPONSE FILE SYNTAX:
ARJ @response_filename [-&] | [-+] | [-+environment_variable]
ARJ will accept an ARJ command line from a response file as in
"ARJ @command.rsp". The "@" symbol indicates that the appended
name is the name of the response file. In this case, the file is
command.rsp. The response file symbol cannot be changed. Only one
ARJ command line can be processed per response file.
The response file should contain the ARJ command line minus the
initial "ARJ". The command line may be split over as many lines as
necessary. The response file feature will NOT accept QUOTED
command line options. Options with embedded blanks ("-vasTEST X")
will not be processed as expected. See the "-@" option for help on
options with blanks. When using the response file feature, ARJ
will accept only the "-+", and "-&" switch options on the DOS
command line along with the response file name. All other command
options must be specified in the response file or in the ARJ
environment variable.
To better support long filenames, ARJ provides the "-@" option to
handle the processing of filenames and switch options that contain
embedded spaces. The "-@" switch option enables the interpretation
of a text line in an ARJ response file as a single token. In other
words, when ARJ scans an "-@" option, it will process the NEXT text
line in the response file as a single token including all embedded,
leading, and trailing blanks. ARJ will continue to process each
subsequent text line in the same manner. If ARJ scans a subsequent
"-@" option, ARJ will revert to its normal multiple tokens per line
processing.
Please note that the ARJ command line whether or not in the
response file is still limited to 64 filenames or wildnames. The
listfile feature should be used to specify more than 64 filenames
or wildnames.
ARCHIVE NAME WILDCARDING:
You can specify a wildcard for the archive name such as "*.ARJ" for
all ARJ commands except for the add commands (a, f, j, m, u). If
you also specify the "-r" switch, ARJ will search subdirectories
for ARJ archives (*.ARJ) also.
Example: ARJ l -r * will list all of your *.ARJ files.
ARJ c *.arj -zbbs.cmt will comment all of your archives.
As of 2.55c, the list of filenames that ARJ builds internally for
archiving is now affected by the "-o" and "-b" and "-hb" options.
Prior to 2.55c, ARJ would include all matching filenames in its
internal list regardless of the "-o" and "-b" settings. Then
during archival, ARJ would select from its internal list based upon
the "-o" and "-b" and "-hb" options.
Now ARJ uses the "-o" and "-b" and "-hb" options while it is
building the internal list. The advantage with this method is the
need for less memory to handle fewer files.
For example, when doing a full backup of the C drive, ARJ builds an
internal list of filenames for all of the files on drive C. When
doing an incremental backup (-b, -b1), ARJ builds a list of
filenames for only the files that have the archive bit set. In
prior versions of ARJ, ARJ would build the same list regardless of
the "-b" setting.
ARJ wildcarding can differ according to the operating system
environment. When scanning the file system for filenames to
add/update an archive, ARJ uses the internal operating system
wildcard matching functions. When scanning an ARJ archive (list,
extract and so on), ARJ uses its own wildcard matching function.
This internal ARJ function is identical to the standard DOS
wildcard matching.
Windows 95 and Windows NT use a slightly more complex wildcard
matching function. In Windows 95, it is possible to specify a
wildcard specification of "a*d*c". This would match ARJ.DOC,
ARJDISP.DOC, and others.
As of ARJ 2.55c, ARJ will handle up to 65,000 filenames. Because
ARJ checks for duplicate filenames when necessary, processing over
20,000 filenames may slow down as the number of filenames processed
increase. ARJ processes wildcards most efficiently when specified
as separate command line wildcards inclusive of drive letters.
Example: ARJ a backup C:\*.* D:\*.* E:\*.* -r -a1
If each drive letter is unique, ARJ will not need to check for
duplicates and can proceed faster. This speedup does not work when
using listfiles.
ARJ COMMANDS:
ac: Add Chapter to archive
This is a new two character command for ARJ. It is actually an
abbreviation for the following command and switch options: "u
-u2 -jb". The "ac" command will add a chapter backup to a new
archive or add a new chapter (updating) to a chapter archive. A
chapter backup will consists of files that are DIFFERENT
(different date-time or size).
Example: ARJ ac archive c:\dir\*.* -r -jt
The advantage of a chapter archive is that you can make numerous
full backups (chapters) to a SINGLE archive. Major space
savings will result when some files do not change from backup to
backup.
See the "-jb" option for more details.
Adding a new chapter adds a chapter label entry in the archive.
There is a limit of 250 chapters per archive.
Please note that the "ac" command abbreviation is dependent upon
file sizes and file date-time stamps. Modifying file date-time
stamps with no relation to the system time may cause chapter
update problems. In addition, changing the system time
significantly may also cause chapter update problems.
a: Add files to archive
This is the basic command to add disk files to an ARJ archive.
You can specify 0 to 64 filename arguments (one can be a
destination directory). The arguments can be wildnames. If
you specify the "-r" switch (recurse subdirectories), ARJ
will add all of the files in all of the subdirectories that
match the specified wildname.
Example: ARJ a archive subdir\*.*
Archive all files in directory "subdir".
For maximum compression, use the "-jm" switch option.
b: execute Batch or DOS command
The ARJ b command allows a user to execute a DOS command on
selected files in an archive. The ARJ b command will prompt for a
DOS command string to execute per selected file. By default ARJ
will extract the selected files to the filename ARJTEMP.$$$. This
filename can be changed with the "-jw" option. The base directory
option is ignored by the ARJ b command. The output file will be
deleted by ARJ after the DOS command is executed.
Examples: ARJ b archive
ARJ b archive file.exe -jwtemp\tempfile
This option can substitute for a simple extract and run command
where the file to be extracted is an executable. You would specify
a temporary executable name as the output name and use that name as
the DOS command to be executed.
Example: ARJ b archive file.exe -jwTEMP.EXE
TEMP arguments
You can supply the DOS command string on the command line with
the "-jq" option. Switch options which have embedded blanks
must be enclosed by double quote marks.
Examples: ARJ b archive file.exe -jwTEMP.EXE -jqTEMP
ARJ b archive *.c "-jqgrep text ARJTEMP.$$$"
c: Comment archive files
This command allows you to comment the header and individual
files. ARJ will prompt you for each comment. The user will be
prompted for up to 25 lines for each comment. A line containing
only a [return] will terminate the comment.
The user can choose to input comment data from a file by entering
the comment filename preceded by an "!" as in "!archive.txt"
starting in column 1 of the first comment line. This file is
read as a text file. The lines in the text can be up to 2048
bytes long. Only the first 2048 bytes of the file will be
accepted by ARJ.
To erase a comment from an archive, type [space] [return] on the
first comment line and [return] on the second comment line.
To strip archive or file comments from an archive, you can use
the NUL file feature of MS-DOS.
Examples: ARJ c archive -zNUL strips archive comment
ARJ c archive name -jzNUL strips comment for "name"
ARJ c archive -jzNUL strips all file comments
ARJ c archive -zNUL -jzNUL strips all comments
To add only the archive comment and not file comments, use the
following command:
ARJ c archive -z
To add only the archive comment at the command line, use the
following command:
ARJ c archive -zcomment.txt
You may also comment an archive with the "a", "f", "m", "u"
commands using the "-z" option. The "-jz" option may not be
used in the same manner.
ARJ a -zcomment.txt archive *.txt
cc: Convert standard archive to Chapter archive
This is a new two character command for ARJ. It is actually an
abbreviation for the following command and switch option:
"y -jb". The "cc" command will convert a standard ARJ archive
to a chapter archive.
Example: ARJ cc archive
d: Delete files from archive
This command allows you to delete files from the archive. When
wildcard selection is not suitable, you can use the "-q" switch
to set ARJ to prompt you for deletion for each file selected.
These deleted files are physically removed from the archive.
Example: ARJ d archive *.c
Delete all files in archive ending in ".c".
ARJ d -q archive *.c
Prompt before deleting each file ending in ".c".
If specify "*.*" as the filespec, ARJ will prompt for permission
to delete. You can specify the "-y" or "-jyd" options to
inhibit the delete prompt.
If ARJ removes all files from an archive, it will delete the
empty archive.
The delete command normally only deletes files of the last
chapter in chapter archives.
You can specify the "-n" (new) option to delete the files in the
archive that DO NOT EXIST on the disk. You can use the same
"-n" option with "ARJ l" to list the files that DO NOT EXIST on
the disk. This is useful in synchronizing an archive to a
directory along with an update command.
Examples: ARJ d archive *.* -n
ARJ l archive temp\ *.doc -n
ARJ d archive temp\ *.doc -n
dc: Delete last Chapter from archive
This is a new two character command for ARJ. It is actually an
abbreviation for the following command and switch option:
"d -jb". The "dc" command will delete the last chapter in an
archive using the specified file wildcard. Normally, that
wildcard should be "*.*".
Example: ARJ dc archive *.*
e: Extract files from archive
This command will extract one or more files from the archive to
the current directory or base directory if specified. ARJ will
prompt the user before overwriting existing files unless the
user specifies the "-y" switch. If the user gives a "no"
answer, ARJ will prompt for a new filename. If the user enters
a single [return] instead of a filename, ARJ will skip the
current file extraction.
Example: ARJ e archive soft\ *.c
Extract all files ending in ".c" to subdirectory
"soft".
When extracting a file located on multiple volumes, ARJ may
prompt the user with an "Append? " prompt. This will usually
occur with files split across volumes. You will also need to
specify the "-v" switch to set ARJ to continue to the next
volume of a series of volumes. When extracting from one of a
series of multiple volumes on a diskette, it is easier to use
the wildcard "*.*" to specify the archive as in:
ARJ e archive A:*.* filespecs
If you wish to extract only a portion of an archive and that
portion is a directory containing directories, you should use
the "-p1" switch. See the "-p" switch for more information.
The ARJ e and ARJ x commands now accept the "-d" option to
provide an extract and delete option. This feature requires
that you specify the files to extract and delete. ARJ will NOT
default to "*.*" for this option. This option actually uses
more disk space than a simple extraction because of the
temporary archive that is created during the extraction process.
ARJ e archive -d file1 file2
If ARJ encounters a disk full during extraction, ARJ will abort
with an error. You can bypass the abort by using the "-jd"
option. Refer to the description of "-jd" for more information.
If ARJ encounters a CRC or Bad file data error during
extraction, ARJ will delete the corrupted extracted file unless
the "-jr" option is used.
With the "-ho" and "-ho1" options, you can extract files from an
archive based upon the success or failure of a text string
search. Refer to the description of the "-ho" and
"-ho1"options for details.
Examples: ARJ e archive -ho
ARJ e archive -ho -jq+3+textstring
f: Freshen files in archive
Update matching files in the archive that are OLDER than the
selected disk files.
Example: arj f archive *.c *.h
In freshening archives, you should use the same filename
specifications that you used to create the archive.
Example: arj a archive \temp\ *.* -r
arj f archive \temp\ *.* -r
If no files or comments have been added to the archive, ARJ
will not rewrite the archive at ARJ 2.20 and above.
When updating a file in an archive with a file that is NOT
newer and if the -jv option is selected, ARJ will display a
message that there is "no change".
g: Garble files in archive
The ARJ "g" command allows a user to garble an already built ARJ
archive. Please note that only ungarbled files will be garbled
by the ARJ "g" command.
Example: ARJ g archive -gdinosaur
ARJ also includes a "-hg" option to specify the use of a special
powerful encryption routine.
i: check Integrity of ARJ.EXE
The "i" command allows the user to check the integrity of the
ARJ.EXE program. ARJ will report "CRC ERROR!" if the tested ARJ
program does not pass its integrity check. This indicates that
the program is probably corrupted. Please note that the "i"
command should not be used on a compressed ARJ executable
(DIETed, LZEXEd, etc.), since the "i" command will then ALWAYS
report a CRC error. If the program name is not specified, then
ARJ will check the current program being executed.
Syntax: ARJ i ARJ.EXE
ARJ i at DOS 3.0 and up
j: Join archives to archive
The "j" command allows the user to merge several ARJ archives.
Syntax: ARJ j archive archive1.arj archive2.arj
ARJ j archive *.arj -r
Some switches NOT supported by the "j" command are: -o, -ob,
-f, -u, -c, -v. Note that there is no error message displayed
by ARJ when using an unsupported switch with the "j" command.
The "-d" option IS supported by the "j" command.
Note that switches that do work like "-x" select the archives to
be merged and NOT the contents of the archives.
This command can be used to convert an SFX module to a regular
ARJ archive.
Example: ARJ j new_name arjsfx.exe
k: purge chapter bacKup files in archive
The ARJ k command works similar to the ARJ d command except that
the ARJ k command only deletes files that are not in the last
chapter. The ARJ k command requires a wildname or filespec as a
selection option. This command will ONLY work with chapter
archives.
Examples: ARJ k archive *.*
ARJ k archive *.doc -q
l: List contents of archive
List contents of archive to standard output. The display can be
paused after each screenful with the "-jp" switch. The files
are listed in stored order. There are no sort options
currently.
The last field on the display BTPMGVX stands for:
B -> file not contained in the last chapter (obsolete file)
T -> text/binary/directory/chapter/label type
P -> path information available in "V" listing
M -> compression method used
G -> file has been garbled (encrypted)
V -> archive has been continued to another volume
X -> this file is an extended portion of a larger file
Example: arj l archive *.c *.h
A "+" sign preceding the date-time field indicates that the date
is a 21st century date (20nn).
The "B" indicator shows files that are not contained in the last
chapter backup of a chapter archive. These files are removed
when a purge (K command) is executed.
For text mode compression, the original file size reported by
the "l" and "v" commands is the actual number of bytes input.
This is usually the MS-DOS file size minus the number of
carriage returns in the file, since C text mode strips a file of
carriage returns.
You can use the "-n" option with "ARJ l" to list the files
that DO NOT EXIST on the disk.
Example: ARJ l archive temp\ *.doc -n
m: Move files to archive
This command is similar to specifying the "a" command with the
"-d" switch. The "m" commands adds the selected files to the
archive. If the adds are successful, then the added files are
deleted. The move command does not ask permission before
deleting the files. Use the "ARJ a -d" command for that
feature.
Example: ARJ m archive soft\*.*
The "m" command when used with "-f" and "-u" will delete any
successfully added files as well as any files that are already
up to date in the archive. It is STRONGLY suggested that you
always use the "-jt" option with move commands to set ARJ to
verify the archive before deleting the input files.
At ARJ 2.30 and above, ARJ will also attempt to delete any
directories that are added to the archive. Directories can ONLY
be selected by using the "-a1" option. Directories with
UNSELECTED files will not be deleted.
Example: ARJ m archive -a1 soft\*.* soft deletes soft
ARJ m archive -a1 soft\*.* does not delete soft
n: reName files in archive
This command allows you to change the names of the files stored
in an ARJ archive. ARJ will prompt for the new name of each
selected file. You can skip changing the name of a particular
file by entering a blank line.
Example: ARJ n archive *.c
In the above example, ARJ prompts for new names for all *.c
files.
o: Order files in archive
This command allows you to re-order the files within the
archive. You may specify the order of files on the command line
or you can use one or more list files. Any files in the archive
that are not specified on the command line or in a list file
will be placed at the end of the archive in the same relative
order that they were originally. No wildcard names can be used
as order specifications. The filenames in the list file must be
entered one per line.
Example: ARJ o archive file1 file2 file3
In the above example, the files "file1", "file2", and "file3"
will be ordered first in the archive. Any remaining files will
follow those.
Example: ARJ o archive !list
In the above example, the archive will be ordered according to
the order of the names in the file "list".
IMPORTANT: For the "o"rder command, the list file option has
one special feature. If the list file is named ARJSORT.$$$, ARJ
will expect the file to have been built with the ARJ v -jv1
command. This ARJSORT.$$$ list file may be specified with a
pathspec. See the ARJSORT.BAT batch file for an example of this
special feature.
To facilitate building list files, the "v" command in ARJ will
produce special outputs with the "-jv" switch and the "-jv1"
switch.
The "-jv" switch will display only the pathnames stored within
the archive. No other listing data is displayed. This output
can be re-directed to a file for manual sorting into a list
file.
The "-jv1" switch will display the standard verbose display with
a few modifications. No sequential number field will be
displayed. No comment field will be displayed. The pathname is
appended to the archive file description data instead of being
on a separate line. Displayed just before the pathname field
are the file extension and filename. These fields are available
so that the user can sort the text lines by date-time, file
extension, CRC value, etc. Text editors like Qedit and SLED
allow the user to sort text lines via an embedded text field.
At ARJ 2.20 and above, you cannot "o"rder a multiple volume
archive and should not.
p: Print files to standard output
Output files to standard output. This function works such that
the output file will contain only the file data extracted. This
is important for UNIX-like usage.
Example: ARJ p archive manual.doc > output.fil
In the above example, output.fil will be an exact copy of
manual.doc. There will be no extraneous header information in
output.fil. All extraction phase information is written to the
STDERR device, which is normally the display screen.
Example: ARJ p archive manual.doc > LPT1
In the above example, the standard output is redirected to the
printer device. This does not involve any intermediate disk
files. However, when redirecting to the printer, ARJ will
translate binary files to text, causing possible loss of data.
The ARJ command "ARJ e archive manual.doc -jwLPT1" will output a
binary file to the printer without loss of data.
ARJ sets the file date-time stamp of the output stream. File
viewing as in ARJ p archive name | LIST /s will display the
correct file date and time.
The "-jp" option can be used to pause the screen output as in the
"s" command. The "-jv" option will allow the display of IBM
graphics characters with the "-jp" option.
NOTE: Because of a problem using fwrite() and STDOUT, errors
occurring during redirection to serial and printer ports may not
be detected. Errors during redirection to disk files will be
detected.
q: repair a damaged ARJ-PROTECTed archive
The "q" command is used to repair a damaged "protected" archive.
An archive is protected with the "-hk" option. Both the
protected archive and its ARJ-PROTECT data protection file are
required to repair any damage. The "q" command will attempt to
repair all damages and put the repaired archive in a file named
ARJFIXED.ARJ.
Example: ARJ q archive
When working with a damaged protected archive and the "Abort,
Retry, Ignore, Fail" prompt appears, you should select the
"Ignore" option.
r: Remove paths from filenames
This command sets ARJ to remove the path component from the
specified filenames stored in the archive. The default is all
filenames stored in the archive. This command is useful if you
forgot to specify "-e" to exclude paths.
s: Sample files to screen with pause
This command is similar to the "p" command except that one
screenful of data is displayed to the user and a user action is
then requested. The action prompt can be suppressed with the
"-y" switch.
The "s" command filters the text to output by truncating at 79
characters per line and displaying '?' for control characters.
The "-jv" option will allow the display of IBM graphics
characters.
t: Test integrity of archive
Test the contents of the selected files for the correct CRC
value. ARJ uses a 32 bit CRC to validate the contents of the
files. The use of 32 bit CRCs is many times better than the
use of 16 bit CRCs for the detection of errors.
When used with the "-hk" option, ARJ will test the archive and
upon successful completion, will generate the ARJ-PROTECT file.
Example: ARJ t archive -hk
u: Update files to archive
Update older files in the archive and add files that are new to
the archive.
Example: arj u software
When updating a file in an archive with a file that is NOT
newer and if the -jv option is selected, ARJ will display a
message that there is "no change".
v: Verbosely list contents of archive
This command lists the full pathname and comments of the archive
files as well as the same information as the "l" command.
The "v" command now displays a sequence number preceding the
pathname. This number can be used with the "-#" option to
access specific files within an archive.
Example: ARJ v archive
ARJ x archive -# 5 10
Use the "-jp" switch to pause the output after each screen.
The "-jv" switch will display only the pathnames to the screen.
The "-jv1" switch will display the archive data in a manner
suitable for sorting on various fields for use with the "o"
command.
w: Where are text strings in archive
This command allows the user to search for text strings within
archives.
ARJ will prompt the user whether to ignore case when searching.
This search option takes MS-DOS code pages into account so that
casing of accented/umlauted characters will be done correctly.
ARJ will also prompt the user for the number of lines of context
of a match to display. If a number greater than zero is chosen,
ARJ will display the matched string and the surrounding context
with all of the non-printable characters including newlines
replaced by question marks. The context lines displayed will be
78 characters in length. When the display context option is
chosen, ARJ will inhibit the progress indicator. If the "-jv"
is set, IBM graphics characters (128 to 255) will be displayed.
Then, this command will prompt the user for up to 20 text strings
to search for within the archive. A count of all matches will be
displayed after each individual file is scanned.
Search strings are limited to 79 characters.
Matches that span archive volumes will not be detected by this
string search.
You can search multiple ARJ archives with a command like:
ARJ w \docs\*.arj
You may page pause the display with the "-jp" option.
The "-jq" option can be used to supply the necessary parameters
to the ARJ w command.
The option string will be parsed as follows:
1) the first character must be either "+" or "-" representing
yes or no,
2) the next character(s) represents the number of lines of
context to display,
3) the next character represents a non-digit separator,
4) the next characters represent the search text.
Examples: ARJ w archive -jq+3+total caseless search
display 3 context lines
search for "total"
ARJ w archive "-jq-2-to be" case sensitive search
display 2 context lines
search for "to be"
You can use the "-hw" options to change the way ARJ displays
the filenames being searched.
x: eXtract files with full pathname
This command extracts one or more files from the archive to
their full paths in the current directory or to the base
directory if specified. ARJ normally stores pathnames as if
they were children of the target directory. Any drive or root
directory specifications are stripped before extracting unless
the "-jf" switch is specified with the "x" command.
Example: arj x archive *.c
If you wish to extract only a portion of an archive and that
portion is a directory containing directories, you should use
the "-p1" switch. See the "-p" switch for more information.
The ARJ e and ARJ x commands now accept the "-d" option to
provide an extract and delete option. This feature requires
that you specify the files to extract and delete. ARJ will NOT
default to "*.*" for this option.
Refer to the description of the "e" command for more
information about extraction.
y: copY archive with new options
The ARJ y command provides an easy interface to the -je and
-je1 options as well as to the -jb, -jb1, and -jb2 options.
Examples: ARJ y archive -je1 convert an archive to an SFX
ARJ y archive -jb make an archive a chapter type
ARJ y archive -jb0 convert from a chapter type to
a standard type
When used with the "-g" option and optionally the "-hg" option,
ARJ will ungarble a previously garbled archive.
Example: ARJ y archive -gpasswrd
ARJ SWITCH OPTIONS:
?: Display full help screens
The command "ARJ -?" displays several screens of help
information with page pauses. The command "ARJ -? -jp" displays
the help screens without page pauses. You can also redirect the
output to a file as in:
ARJ -? > help.txt
ARJ may not detect network file redirection and will pause per
screenful.
-: skip any more switch options
The switch option "--" will cause ARJ to stop looking for any
more switch options on the command line. This is useful for
entering filenames beginning with "-".
Example: ARJ a archive -- -file
+: inhibit ARJ_SW usage
The switch option "-+" will inhibit ARJ from using the value of
the ARJ_SW variable in ARJ switch processing.
Example: ARJ a archive -+ *.*
The "-+" option can now be used to specify an environment
variable name to use in place of the default "ARJ_SW". This
option can only be used on the command line.
Example: ARJ a archive -+ARJ_SW2
@: set 1 token per response file line
This switch sets ARJ to enable/disable the interpretation of
text lines in an ARJ RESPONSE file as a complete single token.
Normally, in an ARJ response file, blanks are interpreted as
token separators. (Tokens are commands, filenames, wildcards,
and switch options). However, if ARJ scans an "-@" option in a
response file, it will process subsequent text lines as single
tokens per line. A subsequent "-@" option will revert ARJ to
normal multiple tokens per line mode.
Example: ARJ @text.rsp
TEXT.RSP contains:
a c:\dir\archive -r -jt1 -@ -a1
c:\long directory name\*.*
c:\other directory name\*.*
-@
dir1\*.* dir2\*.* dir3\*.*
One common error when using the "-@" option is including extraneous
leading and/or trailing blanks. For example, ARJ will abort with
an invalid switch option error if the second "-@" above has one or
more trailing blanks.
&: install critical error handler
By default, ARJ sets up a default interactive critical error
handler to handle errors like "sector not found" and "drive not
ready". The user has the option of retrying the failed
operation. The user can press Control BREAK to abort to DOS.
The "-&" option sets ARJ to install a non-interactive critical
error handler. This is designed for unattended ARJ use. This
handler will intercept errors that produce the "Abort, Retry ...."
error messages like bad sector errors and file sharing
violations. It can be specified on the command line or via the
environment variable. Please note that if you specify "-&" on
the command line, the handler is installed immediately before any
files are processed. If you specify "-&" in the environment, ARJ
will not install the handler until all switches are processed.
!: set list char
This option allows the user to set the character used for list
files. The option "-!" with no specified character toggles
(turns off) the current list file character (default "!").
Syntax: ARJ a archive -!@ @list.fil
ARJ a archive -! !.bat
The first example above sets the list file character to the one
used by LHA and PKZIP.
$: add/extract volume label
This option allows the user to store or extract DOS volume
labels in ARJ archives. It is possible to have multiple labels
in one archive. At ARJ 2.10 and above, you can only add or
extract volumes labels at DOS 2.0 and above. The "-$" option
may be specified with or without a drive specification. The
drive can be specified by appending the letter and optionally
the ":" to "-$". If none is specified, ARJ assumes the current
drive unless a specified target base directory has a drive
specification.
WARNING: Currently, ARJ allows more than one volume label and
duplicate volume labels in the same archive. You can delete one
or more duplicate labels with the "ARJ d -q archive label"
command. ARJ will query you on each occurrence of "label".
This "faulty" mechanism allows a file and label of the same name
to be added to an archive. The capability of having duplicate
labels in the same archive MAY NOT be present in future versions
of ARJ.
The SFX and SFXJR modules DO NOT support volume label extraction!
The SFXV modules DOES.
On the list screen, volume labels will be indicated by the "V"
under the "T" column.
Syntax: ARJ a archive -$ add all files and the label
of the current drive.
ARJ a archive ... -$B add only the label of drive B
ARJ a archive ... -$B: add only the label of drive B
ARJ u archive ... -$B: add only the label of drive B
To extract volume labels, you must select the label by setting
"-$" and specifying a matching wildname/filename.
Syntax: ARJ e archive doslabel -$ extract the label named
doslabel to the current drive.
ARJ e archive -$D: extract all files to the
current drive and extract the
label to drive D:.
ARJ e archive label B:\ -$ extract all files to B:\ and
the label to drive B.
ARJ will display all labels over 8 characters with a "." in it
like a normal DOS filename. However, ARJ will not restore this
extra "." when extracting. ARJ will only create standard
uppercase DOS volume labels.
Volume labels created by utilities other than standard DOS
commands like LABEL and FORMAT may cause label access problems
for ARJ. For example, Norton's VL.EXE can create labels with
lowercase letters. You will need to use LABEL.COM to delete
these labels in order to let ARJ set a new label. Programs that
delete unusual labels must do absolute writes to disk or use a
wildcard ("*.*") delete of files with the label attribute in the
root directory. A single bit corruption in the program can
result in the deletion of ALL files in the root. ARJ currently
chooses not to take that risk.
#: select files by order number
The "-#" option allows the user to select files from an archive
by their order number in the archive. For example, the number 1
selects the first file in the archive. This option is useful in
selecting files where there are duplicates in the archive. It
is also useful for batch type utilities that need to extract
files sequentially from an archive for processing. Archive menu
programs should find this option very useful in processing
archives with duplicate filenames.
You can specify a series of files with the n1-n8 type syntax.
No embedded spaces are allowed.
ARJ e archive -# 1 4 12-25 40-100
NOTE that the order number starts from 1 for each individual
archive including multiple volume archives. In other words, the
first file in archive.a04 is number 1.
Do NOT mix filenames with the numbers other than the base
directory.
Example: ARJ e -# archive basedir\ 1 3 5 20 21
For consistency, ARJ now interprets the file spec "10-" as 10
to the end of the archive.
Example: ARJ l archive -# 21000- means file 21000 to end
a: allow any file Attribute
By default ARJ will not select system or hidden files via
wildcarding unless the "-a" option is specified.
The "-a1" switch sets ARJ to add any directories in the selected
set of matching filespecs to the archive being built. This
switch also selects hidden and system files as in the "-a"
switch. Even empty directories will be added. The "l" command
will display such directories with a "D" under the "T" (file
type) header.
Older releases of ARJ will skip over empty directory entries.
The ARJSFX and ARJSFXJR modules CAN process empty directory
entries.
This option is useful for saving software directories with
needed empty directories.
See the "-hb" option for a newer way of selecting files.
b: Backup changed files
The "-b" switch will select only files that have the archive bit
set. It will NOT reset archive bits.
Example: arj a a:backup c:\*.* -b -r -va simulates FULL BACKUP
See "-hb" option for other options.
b1: Backup changed files and reset archive bits
If you specify the "-b1" option, files with the archive bit set
will be selected AND the archive bits of all archived files will
be reset after a successful archive has been built.
Example: arj a a:backup c:\*.* -b1 -r -va simulates BACKUP
Under Windows 95, the use of the "-b" type switch options to
reset the archive bit may result in a sharing violation error.
ARJ will display the error and then proceed ignoring the error.
b2: Only reset archive bits
The "-b2" switch does NOT affect file selection. It does cause
ARJ to reset the archive bits of added files. If the "-f" or
"-u" option has been selected, ARJ will also reset the archive
bits of files that are already duplicated in the archive.
Example: arj a e:archive c:\*.* -b2 -r archives all files on
the C drive and resets all archive bits.
b3: reset archive bit during restore
The "-b3" switch is used to reset the archive bits of files
being extracted. It is useful for setting the archive state so
that a subsequent incremental backup will not backup these
extracted files.
b4: do not restore file attributes and reset archive bit
The "-b4" switch is used to set ARJ to NOT restore any file
attribute bits and to reset the archive bit of files being
extracted.
It is useful for easing the cleanup/deletion of temporarily
extracted archive files as in a virus scanning process. Files
will NOT be restored as system, hidden, or readonly.
b5: do not restore any file attributes
The "-b5" switch is used to set ARJ to NOT restore any file
attribute bits and to allow the archive bit to stay set of
files being extracted.
c: skip time-stamp Check
Normally with the "u" and "f" commands, ARJ will only update
newer files to an archiver. The "-c" switch will set ARJ to
update the archive regardless of the date-time modified time
stamps.
When extracting files from an archive with the "-y" and "-f"
switches set, ARJ would normally skip extracting older files.
The "-c" switch will set ARJ to extract these older files.
d: with Delete (move)
This switch provides the standard MOVE command. Successfully
added files will be deleted. When used with the "-f" or "-u"
option, ARJ will also delete files that are already duplicated
in the archive. ARJ will prompt the user before deleting the
files unless the "-y" switch is specified. Also, you can use
the "m" command which does not prompt before deleting the files.
At ARJ 2.30 and above, when using the "-a1" to specify the
selection of directories, ARJ will also delete the selected
directories.
ARJ a archive filename -d -y is equivalent to
ARJ m archive filename and
ARJ a archive filename
delete filename
The ARJ e and ARJ x commands now accept the "-d" option to
provide an extract and delete option. This feature requires
that you specify the files to extract and delete.
ARJ e archive -d file1 file2
Chapter archives do NOT support extraction with deletion.
e: Exclude paths from filenames
By default ARJ always stores the pathname of the archived file.
This switch will set ARJ to store only the filename component.
The "-e1" switch option sets ARJ to NOT store the base directory
name with the filenames in the archive.
Example: ARJ a archive C:\SOFTWARE\ARJ\ *.* -r -e1
In the above example, ARJ will NOT store the C:\SOFTWARE\ARJ\ as
part of the filenames.
When updating files within an archive, ARJ uses the full
pathname to match against the full name of the selected files.
The "-e" and "-e1" option affect this exact matching. If "-e"
is specified, only the filespecs of the selected files will be
matched against the full pathname of the files in the archive.
If "-e1" is specified, the full pathname minus the base
directory of the selected files is used to match against the
full pathname of the files in the archive.
In other words, ARJ will only update a file within an archive if
the name of the new file as stored in the archive would be
identical to the name of the original file stored in the
archive.
This switch used during extraction will exclude the beginning
characters of the filename. This can be useful for shortening a
long output pathname.
Examples: ARJ x archive -e10 will exclude the first 10
characters of the output name.
ARJ x archive -e4 will exclude the first 4
characters.
f: Freshen existing files
This switch used with the "e" or "x" commands sets ARJ to only
extract newer files from the archive.
This switch used with the "m" command sets ARJ to update only
input files with newer dates than the ones in the archive.
After the archive has been updated, all updated selected files
and all up to date selected files will be deleted.
The ARJ m -f command is very similar to the LHARC m command.
f1: Freshen existing files (OLDER)
This switch used with the "e" or "x" commands sets ARJ to only
extract OLDER files from the archive or to add OLDER files to
the archive.
f2: Freshen different files
This switch used with the "e" and "x" commands causes ARJ to
add/extract CHANGED (different date-time or different size).
There is a slight limitation to this switch. When processing
files that are split across volumes, the size test is skipped
and the file is updated regardless.
f3: Freshen files that are CRC mismatches
This switch is used to select files that are CRC mismatches or
different sizes for extracting or adding. The 32 bit CRC
(checksum) of the file is matched against the CRC of the file in
the archive.
There is a slight limitation to this switch. When processing
files that are split across volumes, the CRC test is skipped
and the file is updated regardless.
g: Garble with password
This switch followed by a password "-gpassword" will encrypt or
decrypt an archived file. During a "l" or "v" command, a
garbled file will display a "G" after the method number.
Example: ARJ e archive -gpassword
If the "-g" option is followed by a question mark "?", ARJ will
prompt the user for the password without displaying the password
input. The backspace key can be used to erase characters.
Example: ARJ a archive -g?
Using the wrong password during extraction will result in a
"Bad file data" or "CRC error" error message.
Use the "g" command to garble an already existing ARJ archive.
Please save your password in a safe place. It may be nearly
impossible to retrieve your garbled files if you forget your
password. There is NO TRICK to recovering a lost password.
The garble option in this version of ARJ has two versions. One
is the original version found in earlier ARJ releases. It is
compatible with older versions and works like those versions.
The other garble version uses a separate encryption module.
This version of ARJ provides a new encryption scheme based upon
the Russian encryption algorithm (GOST 28147-89 cipher). This
algorithm is similar in design to DES; however, GOST is designed
for software implementation. GOST 28147-89 uses a 256 bit key
and 32 rounds of encryption. This implementation uses the 64
bit cipher feedback mode.
This new option is accessed by using the new "-hg" option. This
option sets ARJ to use the separate encryption module to encrypt
the data. By default, ARJ will look for the file "ARJCRYPT.COM"
in the same directory where the ARJ.EXE being executed is found.
The user may specify the pathname of the module to use.
Examples: ARJ a archive *.doc -gThis_is_a_password -hg
ARJ a archive *.doc -gpassword -hgc:\dir\enc.com
This separate module feature has the advantage of saving space
with the ARJSFXV module and the DEARJ.EXE module when encryption
is not needed. You simply do not include the encryption module
in the archive when not using encryption.
For non-USA users, the encryption overlay module is not included
with this version of ARJ. Because of USA export regulations,
ARJ Software, Inc may not export the encryption overlay
module from the USA.
The new garble option accepts a password key up to 32 characters
long. Excess characters are ignored. Garble passwords ARE CASE
SENSITIVE! DO NOT LOSE your password! There is no known method
to recover the password other than by brute force, which could
take a very long time. The longer the password, the longer it
would take to "guess" it. ARJ Software, Inc. cannot provide
help in finding lost passwords.
This new encryption scheme is not compatible with the "-g"
option of pre-2.55 versions of ARJ. If you want to maintain
compatibility with pre-2.55 versions of ARJ, you should NOT use
the "-hg" option.
Only the multiple volume self-extractor supports the new
encryption module.
When garbling or ungarbling an existing archive, ARJ will detect
the method of encryption previously used and select that same
method regardless of whether the "-hg" option is specified or
not.
i: with no progress Indicator
Do not display the percentage progress indicator. The progress
indicator appears during the add, extract, search, and test
operations.
The "-i1" option provides a bar type graphical progress
indicator for the compression, extraction, and testing type
commands of ARJ. This provides an alternative to the simple
numeric increasing percentage progress indicator.
The "-i2" option provides a combined percentage and bar progress
display.
The "-i3" switch shows the percentage progress of the WHOLE
archive build. This switch is only operative during adds.
The "-i4" switch shows the percentage progress as a bar graph of
the WHOLE archive build. This switch is only operative during
adds.
The "-i5" switch shows the percentage progress including a bar
graph of the WHOLE archive build. This switch is only operative
during adds.
The "-i6" switch shows the percentage progress of the WHOLE
archive build along with a progress bar graph for the current
file. This switch is only operative during adds.
j: selects alternate set of switch characters.
This switch toggles the set of switch characters. The toggle is
reset at end at of each separate switch sequence back to the
main set of switch characters.
For example, "-ja" is not the same function as "-a". However,
"-jja" is the same as "-a" because of the double toggle. Also,
"-jaje" is NOT the same as "-ja -je". The switch sequence
"-jae" is the same as "-ja -je".
k: Keep a .BAK of ARJ archive
Create a ".BAK" of the original archive file during an update.
The original archive will be suffixed with ".BAK". Any existing
".BAK" file will be overwritten.
This has no relation to "backup type" ARJ archives.
l: create List_name file
This switch will set ARJ to dump to the filename specified after
the "-l" switch all of the filenames to be processed by this ARJ
command. For add type commands, this list contains all files
that matched the file wildnames given on the command line. For
other commands, the file will contain only the original
filenames and/or wildcard names. Other options do NOT affect
the output of filenames to this list file. To get an index file
for backup purposes, use the "-ji" option.
This list file can be used as a listfile on the command line.
Example: ARJ a -lname.lst archive *.exe
This example will create a file named "name.lst" with all *.exe
files.
m: with Method 0, 1, 2, 3, 4
Method 0 = storing (no compression)
Method 1 = best compression for general use
(default compression method)
(requires 300,000 plus bytes memory)
Method 2 = slightly less compression and faster
(requires 282,000 plus bytes memory)
Method 3 = less compression and less memory and faster
(requires 250,000 plus bytes memory)
Method 4 = fastest compression
(requires 235,000 plus bytes memory)
Example: ARJ a archive *.exe -m2
The "-jm" option will usually improve the size reduction of
method 1 at the cost of speed and memory. The behavior of
"-jm" with -m2, -m3 and -m4 is UNDEFINED.
Method 4 uses a different decoder than 1 to 3. Method 4 is
almost twice as fast as method 1.
During extraction, ARJ uses less memory than during compression.
See the section on ARJ LIMITATIONS for more memory usage
information.
n: only New files (not exist)
With the "e" or "x" commands, extract files that do not exist in
the target directory.
With the "a" or "m" commands, archive files that do not exist in
the target archive.
With the "d" or "l" commands, specify files that do not exist in
the target directory.
o: On or after date YYMMDDHHMMSS
The switch "-o" by itself means select files modified today. If
"-o" is followed by a date and optionally a time, ARJ will only
select files modified on or after that date-time.
Example: ARJ a test -o9001021700 means select files modified
on or after Jan 2, 1990, 5:00 PM.
Years less than "80" will be considered as 21st century years.
The year range for this option is 1980 to 2079.
There is no option for using other date-time formats.
The switch "-ob" selects files modified before today. If "-ob"
is followed by a date and optionally a time, ARJ will only
select files modified before that date-time.
ARJ now accepts the use of "-o" and "-ob" options simultaneously
to specify a range of selected dates. This is useful for
selecting files on a specific date.
Example: ARJ a archive *.* -o910101 -ob910102
The "-o" option and/or the "-ob" option will default to today's
date at midnight (0000 hrs) when specified without dates.
The "-od" switch sets ARJ to select files no older than the
specified number of days. The days are calculated from
midnight.
Examples: ARJ a archive -od0 select files modified today
ARJ a archive -od1 select files modified yesterday
and today
p: match using full Pathnames
When "-p" is specified, ARJ looks for an exact pathname match.
This can be modified by the "-e" option.
For non-update commands and specified filenames with paths, ARJ
will match the full path with or without the "-p" switch.
To match directory paths that contain subdirectories, you should
use the "-p1" switch. This switch sets ARJ to match only the
initial portion of the pathnames against the wildnames
specified. For example, if your archive contains the TURBOC++
directory named TC and you wish to extract the INCLUDE
subdirectory along with the subdirectory INCLUDE\SYS, you can
use the following command:
ARJ e archive TC\INCLUDE\*.* -p1
If you wanted to extract all of the INCLUDE\S*.* files including
the contents of the SYS subdirectory, you can use the following
command:
ARJ e archive TC\INCLUDE\S*.* -p1
q: Query on each file
This switch causes ARJ to prompt the user prior to acting upon
each archived file for all but the "j", "l", "t", "v", and "w"
commands. This allows you selectively to delete, add, etc.
r: Recurse subdirectories
This switch will set ARJ to recurse any wildcards specified on
the command line including ARJ archive filenames by traversing
all subdirectories scanning for matches.
ARJ will also recurse non-wildcard filenames as in:
ARJ a archive FILE.BBS -r
s: set archive time-Stamp
This switch causes ARJ to set the date-time stamp of the archive
to that of the newest file in the archive.
This option will also work with non-update commands as in:
ARJ l archive -s ....
The "-s1" switch is used to keep the old archive date-time
stamp. The new archive will have the same timestamp as the
original archive.
The "-s2" switch is like the "-s" switch except that it only
works for archive modification commands. This makes it more
suitable for use in the ARJ_SW environment variable.
The "-s3" switch sets ARJ to keep both the original archive file
time-stamp as well as the original internal archive modified
time-stamp when modifying the archive.
This "-s3" feature is helpful when adding a copy of the data
damage protection file to the "protected" archive. Using this
switch, you can add a file to an archive and then remove that
file and end up with the original archive. This is necessary
because any change in archive contents would be perceived as
damage by the ARJ "q" (repair archive) command.
Example: ARJ a archive *.doc -hk
ARJ a archive archive.xrj -s3
ARJ e archive archive.xrj -d -s3
ARJ q archive
The above sequence of commands replicates a situation where the
user embeds a copy of the data damage protection file into the
"protected" archive. In the case of slight archive damage, the
protection file can be extracted and used to recover damaged
data.
t: set file Type
This switch causes ARJ to open and read the file to be archived
in binary or text mode. The default is binary mode (-t0). To
archive in text mode, use the -t1 switch. The "-t" switch is
equivalent to "-t0".
If you specify the switch "-t0", ARJ will always use the binary
mode even for freshening text mode files already in the archive.
The file type "text" is only needed for future cross platform
transfers of ARJ archives. It enables ARJ to extract text files
to the host file system with the text newline sequence that is
correct for that operating system.
However, this mode may produce slightly better size reduction.
The "-t1" option combined with "-jh65000" can produce some of
the best size reduction numbers. Extraction of files compressed
in text mode is slower than the extraction of binary files.
You should NOT use the "-t1" switch while archiving in multiple
volume mode.
** ** ** ** ** ** ** ** ********
DO NOT USE THE TEXT MODE ON NON-TEXT FILES!!! Word processor
format files are NOT TEXT FILES! Text files are files like
those created by EDLIN, EDIT, QEDIT, NOTEPAD, and BRIEF. On
non-text files ARJ will prematurely stop input if it finds an
embedded EOF character (CTL Z). This will produce a LOSS of
data on binary files. As of ARJ 2.30 and UNARJ 2.30, ARJ will
extract text mode data in 8-bit format when extracted to the
original type of platform. Only when the text file is extracted
to a different type of platform will the 8-bit text be stripped
to 7-bit text.
** ** ** ** ** ** ** ** ********
In "-t1" text mode, ARJ will look at the first 4096 bytes of the
input file looking for non-text characters. In "-t1g" text with
graphics mode, ARJ will look at the first 4096 bytes of the
input file looking for too many byte values over hex 7F. If ARJ
finds either condition it will automatically backtrack and
switch to "-t0" (default) binary mode for that particular file.
In addition at the end of compressing the input file, if ARJ
finds that the input file size is not greater than 80 percent of
the binary file size (size on disk), ARJ will backtrack and
re-archive that file in binary mode. This should help to avoid
the problem of accidentally compressing executable files with
the "-t1" option which results in lost data. These tests are
not foolproof.
The original file size reported by the "l" and "v" commands is
the actual number of bytes input during text mode compression.
This is usually the MS-DOS file size minus the number of
carriage returns in the file, since C text mode strips a file of
carriage returns. There can be problems with the file size
because compressing in TEXT mode can be LOSSY (unnecessary
characters may be lost). This can cause problems for some
archive conversion programs that check file sizes.
The "-t" option has been modified to allow setting file type by
suffix similar to "-js" option. If you want to set the file type
to text mode for .ASM and .C files, you would specify the option
"-t1.asm.c".
ARJ a archive *.* -t1.asm.c.h.doc
ARJ a archive *.* -t1g.txt.doc
Note that in the switch sequence "-t1f -t1f.doc.asm", the second
switch does not override the first switch which specifies that
all files are to archived in text mode.
If you want to specify the binary file type by suffix, you must
specify the default file type to text and then specify the type
by suffix, because the default file type is normally binary.
ARJ a archive *.* -t1 -t0.com.exe.obj
Because of the way ARJ checks all files to be archived in text
mode, some true text files will not pass the test. In this
case, you can specify the "f" modifier to force text mode. This
modifier can be combined with the "-t1." suffix option. The "f"
modifier must follow the "g" modifier if any.
ARJ a archive *.bat -t1f
ARJ a archive *.txt -t1gf
ARJ a archive *.* -t1f.bat.asm.doc
One trick that you can do with the -t1 option is to convert UNIX
text files to MS-DOS text files. If you have extracted the
files out of the ZOO 2.10 archive and need to convert the
linefeeds to carriage return/linefeed, you can use the following
commands:
ARJ a archive *.* -m0 -t1
ARJ e archive *.* -y
u: Update files (new and newer)
This switch used with the "e" and "x" commands causes ARJ to
extract newer and non-existing files.
This switch used with the "m" command causes ARJ to update only
input files with newer dates than the ones in the archive and
add new files to the archive. After the archive has been
updated, all added files and updated selected files and all up
to date selected files will be deleted.
u1: Update files (non-existing and OLDER)
This switch used with the "e" and "x" commands causes ARJ to
extract OLDER and non-existing files from an archive or to add
OLDER and non-existing files to an archive.
u2: Update different files
This switch used with the "e" and "x" commands causes ARJ to
add/extract CHANGED (different date-time or different size) and
non-existing files.
There is a slight limitation to this switch. When processing
files that are split across volumes, the size test is skipped
and the file is updated regardless.
u3: Update CRC mismatched files
This switch is used to select files that are CRC mismatches or
NEW for extracting or adding. The 32 bit CRC (checksum) of the
file is matched against the CRC of the file in the archive.
There is a slight limitation to this switch. When processing
files that are split across volumes, the CRC test is skipped
and the file is updated regardless.
v: enable multiple Volumes
This switch is required to put ARJ into multiple volume mode.
This switch allows the creation of multiple volumes in the ADD
mode. The command "arj a a:arjvol \*.* -b -r -v360000" allows a
user to backup up all files changed since the last backup to
multiple floppy disks. ARJ will pause between volumes to allow
changing disks. Subsequent volumes will be suffixed .A01, .A02,
.A03, .... , .A99, .A00, .A01, etc. You can start the volume
series at .A01 by specifying the full name of the starting
archive as "name.A01".
After the pause to change diskettes, ARJ will check to make sure
that the diskette has been changed. However, this check is
limited to 3 retries for the same volume. This test can be
inhibited with the "i" modifier.
Example: ARJ x a:archive -vi
ARJ normally only creates volumes numbered up to .A99 for one
hundred uniquely named volumes. Then the numbers roll over to
.A00. When the archive name ends in .000, ARJ will create
volumes numbered up to .999 for one thousand uniquely named
volumes. You can also start the series at .001.
Example: ARJ a -v720 -y -r archive.000 d:\
Archived files can be split across volumes. ARJ will try to
fill each volume to within 200 to 1000 bytes of the specified
maximum size.
The modifier "w" specifies to ARJ that files are NOT to be split
across volumes except for one case. That case is where the
archived file would not fit in ONE whole volume. This feature
does not optimize the use of space in these type of volumes.
With this feature, it is possible to have a volume of only 100
or less bytes.
An advantage to "w" type volumes is that updating of these
volumes is supported for the "f"reshen command and other
commands that do not add new files to the archive. You can add
files to these volumes only if you do NOT limit the volume size.
The command "arj x a:arjvol -v" would restore files starting
from arjvol.arj. You must specify the entire ARJ volume name
including the .Ann suffix when starting from the middle of a
series of volumes or when the series starts with ".A01" or
".000", etc.
The global "-y" option will disable the next volume prompt for
multiple volume archives EXCEPT when the archives are located
on removable media. The "-jyv" option will disable the next
volume prompt even when using removable media.
At DOS versions before 3.0, only drives A and B are considered
removable.
ARJ x a:arjvol -v -jyco
The above example extracts in multiple volume mode and
suppresses prompting for permission to create directories and to
overwrite existing files. ARJ will assume yes in these cases.
Because of the splitting process, archived split files with a
size of zero bytes are possible. This is not an error.
If you comment your archives with long comments, you should take
that into account when specifying volume size. You should
specify a smaller volume size during the "a" command before
adding the comments.
The "-v" switch will accept the abbreviations 360, 720, 1200,
and 1440. These will be translated to 362,000, 730,000,
1,213,000, and 1,457,000 bytes, respectively. Please note that
if the available disk space is less than the requested amount,
ARJ will prompt the user for permission to continue.
You can use the "K" modifier as a shortcut for "000". For
example, 100K means 100000. "K" does NOT mean 1024.
ARJ will accept the "M" modifier to multiply by 1,000,000 (one
million).
The "-vv" switch turns on the next volume beep option. When you
select this option, ARJ will sound a beep prior to the next
volume.
The "-va" switch sets the disk space auto-detect option. ARJ
will check for the disk space available on the target directory
and try to use all or most of it. This option is aimed at
diskette usage. Please note that this switch option detects
free disk space. It does not detect formatted disk space.
If the space available is less than 10,000 bytes, ARJ will
prompt the user for permission to continue. Please note that
ARJ can support the use of diskettes formatted at higher than
normal capacities such as 3.5 inch HD diskettes formatted at
1.6 MB.
Examples: ARJ a A:backup -b -va
ARJ a backup -v360
The "r" modifier allows the reservation of disk space on the
first volume. The number after the "r" specifies the space to
reserve. This is useful for software installation volumes.
Example: ARJ a install -v360r50K make first volume 50000
bytes smaller than 360K.
The switch modifier "s" can be used to make ARJ execute one
specified system command prior to each volume or make ARJ pause
for manual execution of system commands. This is useful for
purging target diskettes before ARJ writes to them. Please note
that when processing a large number of files, ARJ may not have
enough free memory left to properly execute the system commands.
The switch modifier "z" is identical to the "s" modifier except
that the system command is NOT echoed to the screen.
Optionally, after the "s" modifier, you can specify a system
command or batch filename. ARJ will automatically execute the
command or batch file before each volume. If the command has
embedded blanks, then the entire switch option must be
surrounded by double quotes. The system command is executed
before ARJ executes the auto-detect space option.
Examples: ARJ a A:backup -vas
ARJ a A:backup -vvas
ARJ a A:backup -v360s
ARJ a A:backup -vvw360s
ARJ a A:backup -vaspurge.bat
ARJ a A:backup -v360sdelete.bat
ARJ a A:backup "-vasFORMAT A:"
ARJ a A:backup "-vasDIR C:\ "
Note that the last example has a space before the last double
quote mark. If the last space is missing, the internal command
line parser will make the double quote mark part of the DIR
command.
The "-v" switch now accepts its modifiers in any order. The "s"
and "z" modifiers must be last because any succeeding text is
considered the system command to execute.
Examples: ARJ a volume -vavw beep, autosize, whole files
ARJ a volume -vavsDIR beep, autosize, execute DIR
Volume archives can be used as stand-alone archives for non-update
commands except for the files that are split across volumes.
It is recommended that the "-jt" (test archive) option be used
with the "-v" switch to ensure perfectly built volumes as it is
tedious to retest volumes after they are built.
During ARJ operation in non-update commands, ARJ will not abort
when it cannot open the correct sequential ARJ volume archive.
It will report the open error and proceed to the "Ok to process
the next volume?" prompt. At this point it is possible to swap
diskettes to put the correct volume in place. This feature is
disabled if the "next volume" prompt has been disabled.
For those who have enough free hard disk space, the -v option
can be used to make backing up the hard disk fairly easy. ARJ
can be set to create multiple floppy sized volumes on the hard
disk for later copy to diskettes. So even if ARJ is slow, you
can fire up an ARJ backup and some time later, you can quickly
copy the volumes to floppies. Below are sample backup commands:
arj a backup *.* -b2 -r -v360 -y -jt -js full backup
arj a backup *.* -b1 -r -v360 -y -jt -js incremental backup
** ** ** ** ** ** ** ** *********
See the "-jn" and "-jx" options to see how to recover from an
abort in the middle of a backup type operation. ARJ will allow
a restart in the middle of an aborted backup at the disk where
the failure occurred.
** ** ** ** ** ** ** ** *********
To go along with the new CHAPTER feature, ARJ now supports the
UPDATE of multiple volume archives. To implement this feature
reliably in multiple volumes, all new or changed files are added
at the END of the LAST volume. This re-arrangement only occurs
with multiple volume archives. This prevents the diskette
overflow that would occur with earlier versions of ARJ.
However, certain file attributes such as TEXT MODE may not be
carried over to the updated file.
** ** ** ** ** ** ** ** *********
TIP:
To pre-determine the number of diskettes required to archive a
set of data, you can take advantage of the "s" option of the
"-v" switch. The "s" option lets you execute a DOS command
prior to each volume. You can specify a command that deletes
the previously created archive volume. This lets you use the
same floppy diskette/hard disk space to build the multiple
volumes.
Example: ARJ a -r "-vasdel a:volume.a??" -y a:volume c:\*.*
w: assign Work directory
This switch option is HIGHLY recommended if you are archiving
directly to diskettes or if you have a sufficient RAMDISK space.
By default, ARJ builds a new ARJ archive file in the same
directory as the old archive file. By specifying the "-w"
switch, you can specify the working directory where the
temporary archive file will be built. After the temporary
archive file is built, it is copied over the original one and
deleted.
Normally ARJ requires enough disk space for the original archive
and the new temporary archive. Specifying the "-w" switch
allows you to move some of that disk space requirement to
another directory.
When using the "-w" switch while archiving to multiple volumes,
ARJ will check the available disk space in the work directory.
If there is not enough space, ARJ will prompt for permission to
continue. This prompt can be suppressed with the "-y" and
"-jyk" switches.
If the copy of the temporary archive on top of the original
archive aborts, you will have to do the copy manually. ARJ will
not delete the temporary archive in this error situation. If you
press CTL BREAK during the copy process, ARJ will delete both
the temporary archive and the target archive unless this was a
modification of an existing archive.
Example: ARJ a -we:\temp\ archive *.c
For speed reasons, you should always use the "-w" option when
creating or modifying archives on diskettes. You should specify
a work directory on your hard disk or ramdrive.
Example: ARJ a -we:\ b:archive *.c
x: Exclude filenames
This switch is used to exclude filenames or wildnames from the
list of filenames to be processed.
Example: ARJ a archive soft\*.* -r -x*.exe -x*.obj -xtest
This example will archive all files in the soft directory and
subdirectories with the exception of any files named "test"
or ending in ".exe" and ".obj".
You can also specify an exclude file list by preceding the
filename with the list character "!". The exclude file list
must contain a list of filenames/wildnames one per line with no
leading or trailing blanks.
Example: ARJ a archive soft\*.* -r -x!exclude.lst
You can specify a pathname to exclude as in:
ARJ a archive \dir\*.* -r -x\dir\*.*
In the above example, ARJ will exclude all files in \dir
but not the subdirectories in \dir.
The "-x" option also allows you to exclude an entire path
including subdirectories from being selected for processing.
Syntax: ARJ a archive C:\*.* -xC:\TEMP\
The "\" after C:\TEMP indicates to ARJ that everything below
C:\TEMP\ is to be excluded.
Note that the exclude directory option requires that the
directory be specified in the same relative path that the
selected files use.
Example:
arj a archive \temp\*.* -x\temp\firstdir is correct usage
arj a archive \temp\*.* -xC:\temp\firstdir is NOT correct because
of the C:
The "-x" switch also works for non-update commands like
"e"xtract and "l"ist.
Examples:
arj e archive -x*.exe extract all files except *.exe files
arj l archive -x*.exe -x*.obj list all files except *.exe and *.obj
A maximum of 8000 filenames or wildnames can be excluded.
Note that the "-x" option is unaffected by the "-p" option.
y: assume Yes on all queries
Use this switch for batch type uses of ARJ. This switch
disables most of the normal user queries during ARJ execution.
Use this switch to suppress overwrite queries in the "e" and "x"
commands, to suppress the make new directory query in the "e"
and "x" commands, to suppress the new filename prompt when an
open file operation fails in the "e" and "x" commands, to
suppress the pause during the "s" command and to suppress the
next volume pause using the "-v" option to create volumes on the
hard disk.
The "-y" switch will NOT suppress the "-v" next volume prompt
when the archive is located on a drive with removable media
such as a diskette drive.
Use this option with due caution, especially during extraction
as this sets ARJ to overwrite files. However, the "-n" option
can be used to avoid any overwriting.
As an alternative, you can use the "-jy" option which lets you
suppress individual types of user queries.
z: supply file for archive comment
The "-z" switch has been provided to facilitate batch commenting
of ARJ archives with the "c" command. When the "-z" option has
been specified with or without a comment file, ARJ will only
process the archive header comment and will skip any file
commenting unless the "-jz" switch has been specified.
A comment file containing only a single blank can be used to
erase comments from ARJ archives.
Syntax: arj c archive -z
arj c archive -zcomment.txt
arj a archive -zcomment.txt
The "-z" option also allows one to dump the ARJ archive header
comment to a file. This will only extract the main archive
comment and not the individual file comments.
Syntax: arj e archive ... -zcomment.txt dumps only the comment
arj x archive -zcomment.txt dumps comment and files
j#: store only the file CRC and not the file contents
This switch allows the building and testing of a special ARJ
"HOLLOW" archive that is missing the actual compressed file
contents. This allows the creation of small archives for CRC
testing against the CRCs of actual files. This is suited for
special applications. Please take note that NO actual file data
can be extracted from these "HOLLOW" archives.
For example, a user has transported a directory of files from
one PC to another PC. At a later time, that user would like to
determine which files have actually changed their contents
regardless of the date-time stamps. That user could archive the
original directory using the -j# switch which builds the ARJ
"hollow" archive with the sole exception that no compressed data
is stored with the archive. This allows the rapid building of a
much smaller archive. The file CRC is computed and stored in
the archive. This new "hollow" archive is transported to the
other PC. A simple ARJ test command with the "-jt1" option on
the other PC would point out files whose content's CRC do not
match.
Another use of this "hollow" archive is for FILE INTEGRITY
checking. You can create this "hollow" CRC archive and use it
at a later time to determine if any files have been corrupted or
damaged by VIRUS or system problems.
Please note that there is a VERY SMALL possibility that a file
has been changed and its new 32 bit CRC still matches. That
possibility is approximately one in four billion.
The -j# option during an ARJ archive build will set the
compression method to 9. The only change is that the file
header will indicate that the compressed file size is ZERO.
Otherwise, the file header is the same as in an archive where
the file was actually compressed and stored.
To use this "hollow" archive to test CRCs against actual file
CRCs, use the following syntax:
Syntax: ARJ t archive_name -jt1
ARJ t archive_name target_dir\ -jt1
The second command above is used where the relative pathnames
stored in the archive do not match up with the current
directory. See the discussion in ARJ.DOC for more information on
the option "-jt".
When ARJ displays "NOT matched" for a "hollow" archive, it means
the file size in the archive and the size of the actual file do
NOT match.
j#1: do not store file data or file CRC
This option differs from the "-j#" option in that the 32 bit CRC
is NOT stored. The compression method is set to 8.
ja: show ANSI comments
This switch has acquired NEW functionality. Its OLD function
was to set ARJ to fully display ANSI escape sequences. It now
is used with the "ARJ p" command to display files using ARJ's
own ANSI display handler. ANSI.SYS is no longer needed.
Example: ARJ p ansifile -ja -q
ja1: inhibit the display of the archive comment
The "-ja1" switch will suppress the display of the archive
comment.
jb: set archive Backup type
This switch sets ARJ to build a chapter archive. Once an
archive is set to a chapter archive, all subsequent processing
will continue to treat it as a chapter archive.
The advantage of a chapter archive over a series of separate
archives of the same set of files is that space can be saved
when archived files do not change. A single chapter archive can
produce the same results as one hundred standard archive
backups. In other words, one can update a chapter archive one
hundred times and fully recover any one of those updates.
Technically speaking, each file in a chapter archive has a
chapter lifespan range. When a file is backed up and has not
changed since the last backup, only the lifespan range is
changed. A copy of the file is NOT added to the archive since a
copy already exists in the archive. If the backed up file is
different from the previous version, then that file is added to
the archive with an appropriate chapter range. The previous
version of the file is still kept in the chapter archive. When
a particular chapter is restored, ARJ selects only the files
whose lifespan includes the chapter number requested.
As an example, suppose one made a series of daily chapter
backups of a document directory where only one document out of
the one hundred documents changes on a daily basis. The chapter
archive would contain the original one hundred documents plus a
copy of each day's changed document.
When processing chapter archives, all ARJ add type commands
(A,M,F,U) will create a new chapter in the chapter archive. Up
to a maximum of 250 chapters can be stored in a single archive.
The proper way to build and update a chapter archive is with the
"ac" command. You should use the same command line arguments
for each chapter update. If you fail to select the same files
as before, the chapter archive will not update the lifespan
ranges properly and those unselected files will "appear" to have
been deleted for the current chapter. By default, the "ac"
command will update a chapter archive with files that are
DIFFERENT from the previous chapter (different size or date-time
stamp). The "ac" command is actually an abbreviation for the
following command and options: "u -u2 -jb", so you CANNOT use
the "-u" or "-jb" options with the "ac" command.
ARJ ac archive dir\ *.txt *.doc *.wri initial build
ARJ ac archive dir\ *.txt *.doc *.wri second chapter
ARJ ac archive dir\ *.txt *.doc *.wri third chapter
ARJ ac archive dir\ *.txt *.doc *.wri fourth chapter
ARJ ac archive dir\ *.txt *.doc fifth chapter will
be missing all *.wri files
An expert with ARJ may want to use the actual commands and
switches instead of the "ac" command.
ARJ u -u2 -jb archive dir\ *.txt
It is possible to change a standard ARJ archive to a chapter
archive with the "y" command and the "-jb" option. The opposite
is possible with the "-jb0" option.
ARJ y archive -jb converts archive to chapter archive
ARJ y archive -jb0 converts chapter archive to standard archive
The "cc" command is an abbreviation for the "y -jb" option.
ARJ cc archive
You can restore a specific chapter as in:
ARJ x archive -jb10 restores chapter 10
ARJ x archive -jb20 restores chapter 20
You can restore a range of chapters as in:
ARJ x archive -jb2-5 extracts chapters 2 to 5
ARJ x archive -jb2- extracts chapters 2 to the last chapter
Please note that when restoring a range of chapters, ARJ will
segregate each chapter's set of files in a numbered directory
based upon the chapter number. Files whose lifespans range over
a series of chapters will be located in the first of that
series.
This feature is useful for looking over the changes that have
occurred over a series of chapters.
You can list a specific chapter or chapter range as in:
ARJ l archive -jb10 lists chapter 10
ARJ l archive -jb2-5 lists chapters 2 to 5
ARJ l archive -jb2- lists chapters 2 to the last chapter
ARJ l archive lists the most recent chapter
You can see the chapter ranges for each file in the archive with
the following command:
ARJ l archive -jb* -jv
When ARJ tries to modify a chapter archive that already has 250
chapters in it, ARJ will return a DOS errorlevel of 12. A batch
program can take subsequent action by changing the name of the
chapter archive to a backup name and then re-executing the
failed ARJ command.
To start all over again with a chapter archive, you can purge
all of the previous chapters, convert the archive to a standard
archive, and then back to an archive chapter.
Example: ARJ k archive *.*
ARJ y archive -jb0
ARJ d archive *.* -hbc remove chapter labels
ARJ cc archive
You cannot modify specific chapters other than the most recent
chapter in terms of deleting files.
You can remove the most recent chapter with one of the following
commands:
ARJ d archive *.* -jb
ARJ dc archive *.*
If you do not specify the "-jb" with a delete command, the
archive chapter label will not be deleted.
You can comment the chapter labels as a way of identifying each
chapter backup.
ARJ c archive -hbc -jz comments the last chapter label
ARJ c archive "<<*" -jz comments the last chapter label
ARJ c archive -hbc -jz -jb* comments all chapter labels
ARJ c archive -hbc -jz -jb5 comments the label for chapter 5
jb0: clear chapter archive status
This switch is used with the "y" command to convert a
standard archive to a chapter archive.
ARJ y archive -jb0 converts chapter archive to standard archive
jb*: select all chapter backup files
This switch is used to select all chapters.
When it is used with the LIST command, ARJ displays all chapters.
ARJ l archive -jb* displays all chapters
This switch can be used with the DELETE command to remove all
chapters of selected file(s).
ARJ d archive -jb* *.bak *.tmp
jc: exit after Count of files
The "-jc" option sets ARJ to exit early from an archive scan
when the specified number of files have been extracted, listed,
printed, etc. If no number has been specified, ARJ will set
that number to the number of filename arguments.
Examples: ARJ e -jc archive file1 file2 file3
ARJ e -jc5 archive *.bat
Note that "*.*" is considered a count of ONE argument.
This option does NOT WORK when modifying an archive.
jd: ensure free Disk space
In extraction mode, this option causes ARJ always to ensure that
it will leave the user specified amount of disk space available.
ARJ will skip files that would exceed the disk space available
limit. Each file that is skipped will count as an error. The
default free space is zero bytes.
Example: ARJ e archive basedir\ *.doc -jd100K
In the above example, ARJ will not extract any files that will
cause the disk free space to be less than 100,000 bytes. The
"K" is a synonym for "000". For example, 100K means 100000.
In "l"ist or "v"erbose list mode, this option sets an error
check at the end of the listing screen based upon the total of
the original sizes of the files selected. If the total size
would exceed the user specified free space limit, ARJ will
report an error at the end of the listing screen.
Example: ARJ l archive *.doc -jd10000
In this example, ARJ will report an error if the current
available disk space minus the total of the *.doc files is less
than the specified minimum of 10,000 bytes.
Example: ARJ e archive *.* -jd0
In this example, ARJ will skip extraction of any files that
would result in a disk full error.
je: create self-Extracting archive
This option causes ARJ to create a self-extracting .EXE file
instead of an .ARJ file. This ARJSFX self-extractor is about
16K bytes in size and supports full pathname extraction.
The "-je1" switch creates a smaller self-extracting .EXE file.
The ARJSFXJR module is about 6K bytes in size. Both modules
support display of the archive comment. The ARJSFX module also
provides a query to continue the extraction after the display of
the archive comment.
When the "-je" option is used with the "-v" option, the new
ARJSFXV module is used. The ARJSFXV module supports multiple
volume archives. This is a very large module, about 27K bytes.
The "-je -v" option combination requires DOS 3.0 and above to
create the self-extracting archive.
The suppress all messages option "-*" is only available to
registered users in the commercial version of ARJ.
Please note that including the SFX modules, DEARJ, or ARJ as
part of a hardware and/or software package ALWAYS REQUIRES an
ARJ distribution license EXCEPT when distributing between two
computers already licensed for ARJ usage.
As of ARJ 2.10, the SFX executable modules are pre-compressed
using LZEXE. This may cause false indications with EXE scanning
programs showing that an ARJ SFX archive is a LZEXE compressed
file. Only the executable header module is LZEXE compressed.
The actual archive is ARJ compressed, of course. The LZEXE
header is modified to avoid extraction by UNLZEXE type programs.
UNLZEXE may truncate an ARJ self-extractor of its archive.
All SFX modules have an identification string located in the
first 1000 characters of the executable. The identification
string is "aRJsfX" without the quotes and in the exact case.
The current commands ARJSFX supports are:
Usage: ARJSFX [-command] [-switch(s)] [directory\] [file(s)]
Commands:
e: Extract files v: Verbosely list contents
l: List contents x: eXtract files with pathname (default)
t: Test contents
Switches:
a: show ANSI comments m: Make directories
b: prompt for directory n: only New files
c: skip time stamp Check o: Overwrite files
d: display program option p: match with Pathname
f: Freshen existing files s: skip Security check
g: unGarble with password u: Update files
i: no progress Indicator w: skip extract prompt
k: long extract messages y: assume Yes on queries
*: suppress all messages
NOTE!!! ARJSFX uses the "-" character before all commands and
switches. This is to allow extraction of files named e, l, etc.
The default ARJSFX command is "-x" extract files with pathnames.
At ARJSFX startup, the self-extracting archive will display any
archive header comment followed by a query to "Continue
extraction?". This query can be suppressed by specifying the
"-w" option on the command line.
The "-b" option prompts the installing user for the name of the
install directory. If a target directory is specified on the
command line, it is used as the default install directory which
the installing user may change. Note that the target directory
must end in "\"; otherwise, it will be interpreted as a filename
spec.
Example: ARJSFX C:\INST_DIR\ -b
When extracting pathnames, ARJSFX will prompt for permission to
create new directories unless the "-m" or "-y" option is
specified. ARJSFX will create absolute or relative directories
depending upon whether the root directory has been stored in the
pathname in the archive. Saving the root is done using the
"-jf" option of ARJ.EXE.
To avoid extracting to paths, the archive creator should use the
ARJ "-e" option to exclude path specs. The user extracting the
SFX module can specify the "-e" command to extract to the
current directory.
ARJSFX does not support compression method 4.
The ARJSFX and ARJSFXV modules support the ARJ-SECURITY envelope
feature. The ARJ-SECURITY feature is only available as an
add-on option. It is intended as a feature for software
developers. The "-s" option allows the user to skip the testing
of the ARJ-SECURITY envelope.
ARJ will create a self-extracting module without an intermediate
archive file.
Example: ARJ a software *.* -je
If you want to make a self-extracting module from an ARJ
archive, use the "y" command.
Example: ARJ y software -je
IMPORTANT: When executing an ARJSFX module on a system with the
CONSOLE device set to RAW mode, the ARJSFX module will abort on
user input to avoid hanging the system. Use of the "-y" switch
on the command line will avoid the problem.
Example: ARJ230 -y
The ARJSFXJR module created with the "-je1" switch is a
stripped-down version of ARJSFX. ARJSFXJR does not support method
4 or text mode "-t1" or garbled "-g" archives. An ARJSFXJR
module containing files with pathnames will extract to the paths.
ARJSFXJR will automatically create directories as needed to build
the paths.
Example: ARJ y software -je1
The current commands ARJSFXJR supports are:
Usage: ARJSFXJR [-switch(es)] [drive:][directory\]
Switches:
n: set ARJSFXJR to NOT count as an error the skipping of files
o: set ARJSFXJR to overwrite existing files
*: suppress all display messages
You can specify a target_directory or drive or both. However,
you must specify the ending "\" or ":" symbol.
ARJSFXJR -o C:\SOFT\ -> self-extract into directory "C:\SOFT\"
in overwrite mode.
Both the ARJSFX and ARJSFXJR modules will by default extract to
relative/absolute path specs if the archive contains
relative/absolute path specs.
More examples:
Build an SFX module with absolute pathnames for extraction to
the absolute pathnames:
ARJ a -r -je -jf DISTRIB \product\*.*
The user need only type "DISTRIB -y" to recreate automatically
the "product" directory on the current drive.
Build an SFX module with relative pathnames for extraction to
relative pathnames:
ARJ a -r -je DISTRIB \product\*.*
The user need only type "DISTRIB -y" to recreate automatically
the "product" subdirectory in the current directory. The user
can recreate the "product" subdirectory in another directory by
typing the command "DISTRIB -y directory_name\".
Build an SFX module with relative pathnames for extraction to
relative pathnames excluding the base directory:
ARJ a -r -e1 -je DISTRIB \product\ *.*
The user need only type "DISTRIB -y" to recreate automatically
the files and subdirectories of the "product" directory in the
current directory.
Build an SFXJR module with filenames (no path specs).
ARJ a -e -je1 DISTRIB \product\*.*
The user need only type "DISTRIB" to extract automatically the
entire contents of "DISTRIB.EXE" to the current directory.
The current commands that ARJSFXV supports are as follows:
Usage: ARJSFXV [-command] [-switch(s)] [directory\] [file(s)]
Commands:
e: Extract files v: Verbosely list contents
l: List contents x: eXtract files with paths (default)
t: Test contents
Switches:
a: show ANSI comments u: Update files
b: prompt for directory w: Write to filename
c: skip time stamp Check y: assume Yes on all queries
d: check Disk space z: assume yes for queries
f: Freshen existing files a - append file
g: unGarble with password c - create directory
h: display this screen k - disk space check
i: no progress Indicator m - ok to extract
j: overwrite readonly n - new filename prompt
k: skip preset options o - overwrite file
n: only New files r - erase type-ahead
p: match with Pathname v - proceed to next volume
r: set Recover mode #: start install at disk N
s: disable file Share mode $: extract volume label
Please note that the switch options for ARJSFXV use different
letters than ARJ.EXE does.
The "-#" option assumes that the first diskette is number ONE.
Build an ARJSFXV module with filenames (no path specs).
ARJ a -e -je -va A:INSTALL c:\product\*.*
It is strongly recommended that multiple volume self-extracting
archives NOT be built by modifying an existing multiple volume
archive.
With this new release, users can control the behavior of the
self-extracting modules by embedding the command line within the
self-extracting archive. This allows the builder to make
self-extracting archives that create directories by default.
The user may bypass the embedded command line by specifying
any command line options at the DOS command prompt.
Example: ARJSFX -x bypasses any embedded command line
ARJSFX temp\ bypasses any embedded command line
To implement this feature, you would insert the required command
line as the first line of the ARJ archive comment. The beginning
of the command line must be preceded by the two characters "))".
Only the first 80 characters of the embedded command line will
be processed.
Example: )) C:\DIR\ -o -s options for ARJSFX
The registered version of this software will not display the
customized command line demonstration message. Please note that
the specific switch letters may differ for the different ARJ
self-extracting modules.
jf: store/use Full specified path
Normally, ARJ will strip all pathnames of drive letter and root
symbol. This switch disables this action. When extracting with
the "x" command from an archive that was built with this switch,
ARJ will normally strip any drive letter and root symbol, unless
the "-jf" option is specified again.
Example: ARJ x archive -jf f:\data\1995\report.*
The "-jf1" option will strip only the drive spec and NOT the
root symbol. You can use either the "-jf" or "-jf1" option
during extraction to force use of the root directory.
As of ARJ 2.42a, ARJ will always filename match using the full
pathname even for extraction.
Example: ARJ x archive d:\temp f:\data\1995\report.*
jh: set Huffman buffer size
ARJ has a default static Huffman buffer size of 16,384 bytes.
This buffer size is better for compressing executable files.
The buffer size in ARJ 0.15 and earlier was set to 65,500 bytes.
That size is better for large text files. You may specify a
buffer size from 2,048 to 65,535 bytes.
Example: ARJ a archive *.txt -jh65500
If you specify a Huffman buffer size, ARJ will use that size for
all types of files specified by the archive command.
ji: set Index filename
The "-ji" switch is used to create an index file containing the
filenames archived or meeting certain criteria. This is
especially helpful when using ARJ to do multiple floppy type
archives. This file SHOULD NOT be created on the floppy
diskette if the floppy diskette is changed during the archival
process.
If the index file already exists, ARJ will append data to it.
The index file contains three types of text lines. The first
type is the volume name record. It contains the date, time,
starting file position, and the archive name. The second type
is the filename record. It contains only the filename. The
third type only occurs during archival with testing "-jt". It
is a line containing "Testing " and the archive name.
This information is also useful for restarting "-v" multiple
volume archives. You need the filename and the starting file
position.
The "-ji" switch will log the following events:
a, f, m, u - Log actual filenames added to archive and if testing
is enabled, the actual filenames that failed testing.
d - Log archived filenames deleted.
e, x - Log archived filenames successfully extracted.
Extracted files with CRC errors are NOT logged.
j - Log archived filenames added to archive.
l, v - Log archived filenames listed.
t - Log archived filenames that failed testing.
w - Log archived filenames that contain string matches.
This logging function is especially helpful when testing and
searching archives.
The "-hi" option will set ARJ to write more details to the index
file.
jk: Keep temp archive on error
When the "-jk" switch has been specified, ARJ will keep the
temporary archive during an aborted archive build/update.
During a failed build, ARJ will modify the temporary archive to
make it usable by removing the broken portion.
jl: display only filespecs
The "-jl" option sets ARJ to display only the filespec of a
filename during the progress displays. This will simplify the
display output.
jm: set Maximum compression
The "-jm" switch sets the maximum compression mode. This mode
is used with method 1 "-m1" to increase its compression. This
may increase compression time significantly.
You can get a 1 to 5 percent improvement in compression with
ARJ -m1 -jm.
The "-jm1" option provides slightly less compression than "-jm"
at a faster speed. This can range from slightly faster to much
faster.
Use of "-jm" with "-m2", "-m3", or "-m4" is NOT SUPPORTED.
jn: set restart Name
The "-jn" switch is used to restart interrupted multiple volume
archives in conjunction with the "-jx" switch. All selected
files are skipped up to but not including the named file.
Example: ARJ a volume -v360 -r -jn\BIN\TREE.COM -jx1230
In the above example, all files scanned up to \BIN\TREE.COM are
skipped. Archiving will start at file position 1230 of file
\BIN\TREE.COM.
IMPORTANT!!! The exact name of the starting file must be
specified according to the wildnames/filespecs specified. This
name is the same as displayed by the Adding filename display and
the same as written to the "-ji" index file. Please note that
\DOS\TREE.COM is not considered the same as DOS\TREE.COM with
this option.
New at ARJ 2.39 is the feature where ARJ will automatically
scan the previously written index file ("-ji") to get the
necessary restart information. You only need append "-jn" to
the previous backup command line. This option will not work
without the index file. ARJ will automatically set the correct
volume name.
Example: ARJ a a:backup c:\*.* -r -vvas -jiINDEX.FIL
ARJ a a:backup c:\*.* -r -vvas -jiINDEX.FIL -jn
jo: query when updating an archive file
The "-jo" option has two flavors.
The "-jo" switch is used to query the user when using the ARJ
"a" or "m" commands to add files to an archive. Before ARJ
overwrites an existing internal archive file when using "-jo",
ARJ will query the user with "Update <filename>? ". Without
this option, ARJ will overwrite the internal archive file
without querying.
jo: extract to unique Output names
The "-jo" switch during extraction allows automated handling of
duplicate filenames.
On extraction with the "-jo" switch where the output file
already exists in the target directory, ARJ will attempt to
generate a unique filename by changing the file extension to a 3
digit number from .000 to .999. If ARJ cannot generate a unique
name, it will skip extracting the file.
Do not try to extract multiple volume split files in separate
extraction sessions using the "-jo" option. ARJ will not be
able to determine the correct output filename.
New to this release, the "-jo" option during extraction works
along with the "-f" and "-u" type options. In other words, if
you want to freshen a set of files from an archive, the use of
the "-jo" option will generate unique names for any files
extracted.
Example: ARJ x archive *.* -u -jo
jp: Pause after each screenful
This switch will cause ARJ to pause after listing each screenful
of data for the "l", "p", "v", "w" commands. Press the ENTER
key to continue the listing. You can also enter "quit" to exit
ARJ.
In one special case, "ARJ -? -jp", the use of the -jp switch
toggles page pauses off, because by default in help mode,
pausing is on.
You can specify the page size with the "-jp" option as in
"-jp50". This also turns on the pause mode. If you wish to use
this in ARJ_SW, it is suggested that you use "-jp50 -jp-" to set
the page size and to turn off the pause mode.
jq: set string parameter
The "-jq" option is used to supply additional parameters to the ARJ
w and ARJ b commands. If the parameters contain blanks, then the
entire "-jq" option must be enclosed by two double quote marks.
See the "w" and "b" commands for the correct "-jq" syntax.
jr: Recover broken archive files
This switch is used to access headers and files in an archive
that has been corrupted either with bad data or missing data.
This switch lets ARJ find the next valid header for listing,
extraction or testing. ARJ will continue to look for headers
until it finds the end of archive marker. If the archive is
damaged, ARJ may display a message stating that it encountered
the end of file unexpectedly.
This switch also will allow extraction of files with CRC or
Bad file data errors. Normally, ARJ will delete such extracted
files.
If file header data has been corrupted, ARJ will be unable to
recover any file data associated with that header. As of ARJ
2.30, "Bad file data" errors will not abort the recovery
process.
Example: ARJ e archive -jr
The "-jr1" version of this switch allows processing of damaged
ARJ archives that have an end of archive mark in the middle of
the archive. However, the use of this switch will always cause
ARJ to display an "unexpected end of file" error message and to
return a non-zero errorlevel.
js: Store archives by suffix
This switch is used to set ARJ to store and not compress files
with the following extensions: .ARJ, .ZIP, .LZH, .PAK, .ARC,
.J, .RAR, .UC2, .ZOO
The file extensions can be specified as follows:
ARJ a archive -js.zoo.ice.gif
The above command will store files with extensions ending in
.ZOO, .ICE, and .GIF. This overrides the defaults.
You can use the environment variable ARJ_SW to set up your own
defaults as follows:
set arj_sw = -js.arj.zip.lzh -js-
The "-js-" turns off the option by default so that when you
specify the "-js" switch on the command line, ARJ will already
know what extensions you want to store.
The "-js" switch will recognize "." alone as a file extension
indicating no file extension as in "-js." and "-js..arc"
jt: Test temporary archive
The "-jt" switch can used to set ARJ to execute an archive
integrity check on an intermediate temporary archive before
overwriting any pre-existing original archive. If any error
occurs, ARJ will not overwrite the original archive. When used
with the "-w" switch option, ARJ will also test the final
archive file as well as the temporary archive before deleting
any input files.
Example: ARJ m archive *.c -jt
The "-jt" switch can be used with extract type commands to set
ARJ to verify the archive before doing any extraction of files.
If the archive fails verification, the extraction is NOT
attempted. This is useful for handling MAIL packets where
archive corruption due to a bad file transfer is a fairly
frequent event.
Example: ARJ e archive -jt
The "-jt1" switch allows an actual file contents comparison in
addition to the normal file CRC calculation check. This option
can also be used with the ARJ t (test) command.
When used with the ARJ t command, ARJ "-jt1" will use the
base_directory option and the filename stored in the archive to
locate the original file.
When used with the ARJ add/move/update type commands, ARJ will
use only the filename stored in the archive to locate the
original file. Therefore, the "-jt1" option does NOT work with
the "-e" option or when the original filename has a drive letter
or root directory in it and you did not specify "-jf".
Examples: ARJ t -jt1 archive dir\
ARJ a -jt1 archive e:\temp\*.* -jf
When used during a chapter add, the "-jt1" option will compare
only the files of the added chapter. Previous chapters will
only be CRC tested.
Example: ARJ ac archive c:\dir\*.* -jt1
The "-jt2" switch allows the same features as "-jt1" except that
the file compares are only done for the newly added/updated
files. This avoids the situation where the some of original
input files are missing or have changed. NOTE that a problem
can occur with the "f" and "u" commands when files in the
archive are NEWER than the files being added. ARJ will
considered the file up-to-date and added and will do a file
compare.
Example: ARJ u -jt2 archive dir\
ju: translate UNIX style paths
This switch causes ARJ to translate any subsequently encountered
pathnames to MS-DOS style from UNIX style. This switch also
causes translation of filenames entered as a result of ARJ
prompts such as in comment filenames.
Example: ARJ a archive -ju /soft/*.c
jv: set Verbose display
This switch sets ARJ to display more information during the
"t"est, "l"ist, and "ex"tract commands.
Example: ARJ t archive -jv
The "-jv" switch causes the "v" command to display only the
pathnames to the screen.
The "-jv switch causes the "l" command to display chapter
range numbers instead of the CRC value.
The "-jv1" switch causes the "v" command to display the archive
data in manner suitable for sorting on various fields.
The "-jv" switch will set the "p", "s", and "w" commands to
display IBM graphics characters (128 to 255).
When updating a file in an archive with a file that is NOT
newer and if the -jv option is selected, ARJ will display a
message that there is "no change".
jw: set extract output filename
The "-jw" option allows you to specify the name of the
extraction output file. You should only select one file to
extract when using this option.
This is similar but not exactly the same as using the "p"
command with DOS output redirection. Using DOS redirection would
cause all of the output of the extraction to be put into the
output file. Using "-jw" would set ARJ to prompt for
overwrite permission per each file extracted to the output file.
This option may be needed when trying to output binary data to
a printer.
Example: ARJ e archive printer.dat -jwLPT1
jx: start at eXtended position
This switch is used to continue a file onto a new archive
manually. This switch is normally for use when a multiple
volume "a" command has aborted.
Example: ARJ a arjvol.a01 manual.doc -jx100000
This example archives manual.doc starting from file byte
position 100,000 and on.
In extraction mode, this sets ARJ to extract a file to an output
file at a specified starting position.
Example: ARJ e -jx2000000 archive file1
This example extracts the file "file1" to file1 starting at
position 2,000,000 or at the end of the file.
This is similar to using the command "ARJ p archive >> output".
To duplicate this redirection with ARJ would require the
following:
ARJ e -jx2000K -jwoutput archive
NOTE that the -jx option is NOT functional when adding a file to
an archive that already contains one or more files.
jy: suppress queries assuming YES
This switch is used to suppress individual ARJ user prompts.
Syntax: ARJ e archive -jy<flags>
where <flags> is one or more of the following characters: a, c,
d, k, n, o, s, v. For each flag selected, ARJ will act as if
you had answered YES to the suppressed question.
A - skip append query during a multi-volume extraction
C - skip create directory query
D - skip delete files query
K - skip disk space availability query
N - skip new filename prompt
O - skip overwriting existing file query
R - erase all typeahead before prompting
S - skip scanned enough text query
V - skip ok to proceed to next volume query
Y - accept single character Y/N/A/Q inputs
Example: ARJ x volume -v -jyaco
suppress append, create, and overwrite prompts.
ARJ will allow you to specify individual "jy" options in
separate switch strings as in "-jyy -jyr". You may inhibit a
switch as in "-jyr-". As with other switches, the "jy" switches
toggle as in "-jyr -jyr".
As a clarification of older documentation, the "-jyv" option
will disable the next volume prompt EVEN with removable media.
The global "-y" option does not disable the next volume prompt
with removable media.
jz: supply file for file comment
The "-jz" switch has been provided to facilitate batch
commenting of one or more files within an ARJ archive. Only one
comment file can be specified. That file will be used to
comment each file specified on the command line.
A comment file containing only a single blank can be used to
erase comments from ARJ archives.
Syntax: ARJ c archive file1 -jzcomment.txt
ARJ c archive file1 -zheader.cmt -jzfile.cmt
ARJ does not support the use of the -jz option with ARJ
commands other than "c" as in ARJ c archive -jz.
h#: append current date/time string
The "-h#" switch sets ARJ to append the current date string in
the form YYMMDD to the current archive name while keeping the
file extension the same.
The "-h#1" switch sets ARJ to append the current time string in
the form HHMMSS to the current archive name while keeping the
file extension the same.
The "-h#2" switch sets ARJ to append the current date-time
string in the form DHHMMSS to the current archive name while
keeping the file extension the same. In a ten day period, this
option can be used to generate unique archive names.
Examples: ARJ a XX -h# *.c creates archive name XX931209.ARJ
ARJ a YY -h#1 creates archive name YY123000.ARJ
ARJ a Y -h#2 creates archive name Y8123000.ARJ
This function does NO checking for exceeding the proper filename
length. There are no options for rearranging the date/time
formats.
ha: ignore readonly Attribute
The "-ha" switch sets ARJ to reset the attributes of a file to be
overwritten or a file to be deleted. This allows the overwrite
or delete operation to proceed.
A slight performance degradation may result from using this
option.
Examples: ARJ e archive -ha
ARJ m archive -ha dir\*.*
hb: select by file attribute or type
This switch is used to select by file attribute or file type.
The "-hb" option can be used to select files by their attributes
(normal, readonly, hidden, system, directory, and archive bit).
"Normal" is defined as files that are NOT the following:
readonly, hidden, system, label, chapter header, or directory.
For extract/list operations, you can also select chapter labels
and volume labels. By default, the "-hb" option by itself
selects all types of files. If you specify a letter symbol
representing a file type, you are selecting ONLY that type of
file. You can specify a series of letters representing all of
the file types that you want to select. For example, the
"-hbdr" option selects both directories and readonly files.
Selections are additive.
Example: -hbnr select only normal and readonly files
Single letters represent each attribute or type.
a - archive bit set
b - archive bit clear
h - hidden
r - readonly
s - system
d - directory
n - normal files (not d, h, r, s, l, c)
l - volume label
c - chapter label
f - abbreviation for "ndhrs"
The archive bit selection ("a" or "b") is a special case. If
you have selected no types of files EXCEPT files with the
archive bit set, ARJ will select from the set of all file types.
If you have selected one or more file types, ARJ will select
based upon the archive bit from the selected set of files types.
Examples: -hbhrsa select hidden, readonly files with
archive bit set
-hba select all files with archive bit set
Add/update options : f, d, r, h, s, n, a, b.
Extract/list options: f, d, r, h, s, n, a, b, c, l.
Examples: ARJ a archive *.* -r -hbrs select only readonly
and system files
ARJ a archive *.* -r -hbd store only directories
ARJ l archive *.* -hbr list only readonly files
ARJ l archive -jb* -hbc list chapter headers
Notes: The option "-hb" with no letter options is an
abbreviation for "-hbndhrslc" (everything).
hc: execute DOS Command at ARJ start
The "-hc" switch sets ARJ to execute a DOS command at the start
of the execution of ARJ immediately after the command line switch
options have been processed, but before the wildcard search is
started. This can be used to clear the screen to hide the
command line or to provide a pause option to allow swapping
diskettes.
Examples: ARJ a -hcCLS archive -gpassword
ARJ a -hcPAUSE archive *.*
he: skip test of security Envelope
The "-he" switch sets ARJ to skip the verification step when
accessing an ARJ-SECURED ARJ archive. If an ARJ archive has
a damaged ARJ-SECURITY envelope, you will have to use the "-he"
option to extract the archive.
he1: set error on security Envelopes
The "-he1" switch sets ARJ to abort with an error code of 4 when
processing a possibly ARJ-SECURED archive. This is useful as a
REARJ.CFG option for ARJ. This will prevent REARJ from
converting an ARJ-SECURED archive to the same or another format.
Examples: ARJ l secured.arj -he1
hf: set short filenames only
This switch disables Windows 95 long filename handling. ARJ
will use the standard DOS 8.3 APIs (DOS shortnames) to do its
processing. Files so archived with this switch can be extracted
under Windows 95 and DOS.
This switch can be used while listing a dual-name archive under
Win95 to list/process the shortnames.
hf1: set longnames in file comment or extract with W95LNAME.nnn name
This switch in Win95 during archival sets ARJ to build a
dual-name compatibility archive by storing the shortname in the
filename field and the longname in the file comment field, so
that both long filenames and short filenames are stored in the
archive.
Such a dual-name archive is compatible with older versions of
ARJ. New versions of ARJ process such an archive according to
the current operating system environment. Under Win95, the long
filenames in the archive are used. Under MS-DOS, the short
filenames are used. This processing is automatic for this
release of ARJ.
The "-e1" option does not affect the short name that is stored.
During extraction this switch sets ARJ to extract files from a
Win95 archive (built without "-hf" option) by using generated
names. ARJ will generate a short name based upon "W95LNAME.000"
and its sequence number in the archive.
Specifying the "-ji" option with an index filename along with
"-hf1" will generate an index file with the W95LNAME.000 names
and the associated long filenames. The long filenames are
quoted.
Example: ARJ x archive -hf1 -jiindex.log
This option with "-ji" can be useful when trying restore long
filenames on a system that allows long filenames such as
OS/2, WinNT, or Linux.
Please note that modifying a dual-name archive outside of
Windows 95 is possible but it may produce an archive with some
dual-names and some not.
The "-hf1" option has no effect on a dual-name archive during
extraction.
hf2: use long filenames in DOS
This switch sets ARJ to attempt to extract using the long
filenames stored in the archive. No modification is done to the
long filenames except by DOS itself. This switch also sets ARJ
to use the standard DOS 8.3 APIs for processing. Because of the
shortening of the filenames by DOS, duplicate filenames may
result.
hf3: set longnames in file comment and wildcard using shortnames
This switch in Win95 during archival sets ARJ to build a
dual-name compatibility archive by storing the shortname in the
filename field and the longname in the file comment field, so
that both long filenames and short filenames are stored in the
archive.
This is similar to the "-hf1" switch functionality EXCEPT that
ARJ wildcard scans the file system using shortname wildcards.
This switch provides a way of archiving files that have Win95
DOS inaccessible symbols in them like the copyright and
trademark symbols. Win95 DOS displays those filenames with the
"_" character. ARJ will store the long filename with the "_"
character as is. However, this means that a restore of the
archive will not restore the filename as it was with the
inaccessible copyright or trademark symbol. It will be restored
with a "_" symbol.
hg: specify garble module filename
This switch is used to specify the filename of the encryption
module to be used when encrypting a new archive. The default
filename is "ARJCRYPT.COM". ARJCRYPT.COM contains a new
encryption scheme that is incompatible with earlier releases of
ARJ. ARJ will look for the encryption module in the directory
that contains the copy ARJ.EXE that is being executed unless the
specified module name contains a path symbol "\" as in
"ARJ\OLDCRYPT.COM". If you want to use a module in the current
directory, you should specify the name as in ".\ARJCRYPT.COM".
The "." indicates the current directory.
With an existing archive, ARJ detects the encryption scheme that
was used to encrypt the archive and uses the same scheme
regardless of whether the "-hg" option is specified or not.
hi: full detail display in Index files
The "-hi" switch when used with the "-ji" switch sets ARJ to
include the file date-time stamp, the original file size, the
compressed file size, the compression ratio, and the filename in
the index file.
Example: ARJ a a:backup c:\*.* -r -va -jiINDEX -hi
hk: build data protection file
The "-hk" switch sets ARJ to create an ARJ-PROTECT data
protection file. This file is named similarly to the created
archive except for an "X" in the beginning of the file extension
as in NAME.XRJ. This ARJ-PROTECT file contains necessary
information to repair damage to the original archive. The
"-hk1", "-hk2" .... "-hk9" options will generate larger
ARJ-PROTECT files affording a higher probability of a successful
repair.
If the archive already exists, an ARJ-PROTECT data file can be
created via the "t" command.
Example: ARJ t archive -hk builds archive.xrj file
For users who do not like the separate protection file feature,
there is a work-around. Using the new "-s3" option (keep
original time-stamps), the user can add the ARJ-PROTECT file to
the protected archive and extract it later for repair purposes.
Example: ARJ a docs *.txt -hk builds protected archive
ARJ a docs docs.xrj -s3 inserts protect file
ARJ e docs docs.xrj -s3 -d extracts and removes
protect file restoring
the original archive
ARJ q docs repairs archive
hl: return error for Listfile error
The "-hl" switch sets ARJ to report the "file not found" type of
errors when processing the filenames in an ARJ listfile during
an "add" type command (a, f, m, u). ARJ will subsequently
return a non-zero DOS errorlevel when such an error has been
found. Previous versions of ARJ ignored these types of errors.
Example: ARJ a a:backup !listfile -va -hl
hm: increase filename capacity
The "-hm" switch sets ARJ to transfer the list of filenames to
be archived from the limited conventional memory to file
storage. This allows a much larger number of files to be
processed (up to 65,000). This option is ignored for all ARJ
commands except "a", "f", "j", "m", "u".
Normally, this switch sets ARJ to wait until it is out of memory
storing filenames into a list before transferring that list to a
temporary file. That temporary file is put in the current
directory or the special work directory if specified (-hm!F:\)
or XMS memory is specified (-hm!).
However, there may be a few cases where ARJ will run out of
memory doing other tasks while it is storing this list. In
these cases, ARJ will abort. The user can specify a numeric
argument of "1" to this switch to force ARJ to transfer the list
to file storage immediately.
The "-hm" work directory is specified by appending a "!" to the
"-hm" or "-hm1" options and then appending the filename to the
option. See below.
Examples: ARJ a archive c:\*.* -r -hm
ARJ a archive c:\*.* -r -hm1
ARJ a a:archive c:\*.* -r -va -hm500!F:\
ARJ a a:archive c:\*.* -r -hm!G:\temp\
The use of a RAMDISK directory will provide the fastest
operation.
hm!: increase filename capacity with XMS memory
The "-hm!" option with no pathname appended to it will set ARJ
to store its list of filenames in XMS memory. List processing
will be faster using XMS memory as opposed to using disk space.
If no XMS memory is available, ARJ will use conventional memory
and then disk space if needed.
If there is not enough XMS memory available for the internal
list, ARJ will abort. The XMS accelerator in Hurricane 2.0 for
Windows MAY interfere with this switch while in Windows.
hn: specify non-existent filespec
The "-hn" switch sets the filespec that does NOT match any file.
The default filespec is "...". However, on some systems like
using NOVELL, there is a valid filespec "...". Since ARJ
sometimes needs a filespec that is strictly a placeholder, this
option should be used to specify some name that does not exist
on disk.
This option must be specified prior to any use of the
non-matching filespec. Setting it via the ARJ_SW variable is an
excellent choice.
Examples: ARJ e -hn#### archive #### -zcomment.txt
SET ARJ_SW=-hn####
ho: Only extract files with matches
The "-ho" switch used with the "e" or "x" extract commands allows
file extraction based upon a text search. ARJ will prompt the
user for text strings to search unless the "-jq" option has been
specified. See the "-jq" option in ARJ.DOC for detailed use
information. ARJ will extract a file within an archive if the
file contains at least one occurrence of any of the specified
search strings.
Examples: ARJ e archive -ho
ARJ e archive -ho -jq+3+textstring
ho1: Only extract files without any matches
The "-ho1" switch used with the "e" or "x" extract commands
allows file extraction based upon a text search. ARJ will
prompt the user for text strings to search unless the "-jq"
option has been specified. See the "-jq" option in ARJ.DOC for
detailed use information. ARJ will extract a file within an
archive if the file contain NO occurrences of any of the
specified search strings.
Examples: ARJ e archive -ho1
hq: ignore open access error on adds
This switch sets ARJ to ignore the error that occurs when ARJ
cannot open a file for lack of permitted access during an
add-type command and/or a compare command. This is DOS error
code 5. This option applies only to files being added to a new
archive and/or being compared. For an existing archive, this
option will be ignored during the add operation, but NOT during
a subsequent compare operation.
Typically, this switch would be used during network access or in
Windows 95 where a file is open for exclusive use by another
process. Normally, in this situation, ARJ would return a
non-zero DOS error level. However, if this switch is specified,
ARJ will NOT return a non-zero error level due to this specific
open failure.
If you use the "-ji" option to set up an index file, ARJ will
log any file that it cannot open.
hq1: ignore open not found error on adds
This switch sets ARJ to ignore the error that occurs when ARJ
cannot open a file because it cannot be found during an add-type
command and/or a compare command. This is DOS error code 2.
This option applies only to files being added to a new archive
and/or being compared. For an existing archive, this option
will be ignored during the add operation, but NOT during a
subsequent compare operation.
This open error typically happens when a temporary file that ARJ
has found to archive is purged by another process before ARJ can
actually open and compress/compare it. This is not the same
error as when a user specifies a filename on the command line
and ARJ cannot find it.
If you use the "-ji" option to set up an index file, ARJ will
log any file that it cannot open.
hq2: ignore open access error and not found error on adds
This switch sets ARJ to ignore both the no access error and the
not found error during an add-type command for new archives as
above.
hr: force processing of successive archives through errors.
The "-hr" switch sets ARJ to attempt to continue processing
successive archives even when they contains errors. This option
is aimed at ARJ wildcard use such as in the "ARJ t *.ARJ -hr"
command.
hs: disable file Sharing
The "-hs" switch sets ARJ to disable its file sharing feature.
This may be necessary for some unusual applications.
ht: specify Target directory
This switch is provided as an alternative to the standard method
of specifying a target directory. This new option can be
specified in the ARJ configuration file or in the ARJ_SW
environment variable as well as on the command line.
Examples: ARJ x archive *.* -htD:\DESTDIR
SET ARJ_SW=-hf -htD:\DESTDIR
hu: allow the Updating of multiple volume archives
The "-hu" switch sets ARJ to allow the updating of multiple
volume archives. This switch is obsolete as of ARJ 2.55. ARJ
now supports the update of multiple volumes.
hv: verify the ARJ version number
The "-hv" switch is used to verify the ARJ version number and/or
whether the ARJ program is registered. If the "-hv" option is
specified by itself or with an appended "R", an unregistered ARJ
will abort with an errorlevel of 1. If a version number string
is appended to the "-hv" option, a lower version numbered ARJ
will abort with with an errorlevel of 1.
Examples: ARJ a archive -hv check if registered
ARJ a archive -hvr check if registered
ARJ a archive -hv2.50 check for version >= 2.50
ARJ a archive -hvr2.50 check if registered and
version 2.50 or greater
hw: modify search filename display
The "-hw" switch sets the ARJ w command to display the
"Searching ...." filenames messages in a scroll saving format.
Filenames of files that do not contain string matches will be
overwritten on the screen.
The "-hw1" switch sets the ARJ w command to display ONLY the
"Searching ...." filenames messages for files that contain string
messages.
You should disable the progress indicator with the "-i" option.
hx: specify archive file extensions
The "-hx" switch allows the user to specify what the default
file extension or extensions that are to be used by ARJ to
access archive names that are not specified with file
extensions. ARJ will assume that the first extension specified
will be the main default extension.
Examples: ARJ a archive *.* -hx.SDN assumes default .SDN
file extension
ARJ l archive -hx.SDN.ARJ looks for archive.SDN and
if not found, then looks
for archive.ARJ
ARJ COMMAND OPTIONS:
Some of the following options have variations such as -s as in
-s, -s1, -s2.
The following options work for ALL ARJ commands.
!names.lst
-o
-ob
-od
--
-+
-&
-!
-i
-l
-r this affects wildcarded archive names, too.
-s
-x
-y
-ja
-jl
-jt
-ju
-jy
-h#
-h#1
-hb
-hc
-he
-he1
-hn
-hr
-hs
-hv
-hx
The following options work for all ARJ commands that modify
ARJ archives.
-k
-s
-w
-z
-jb
-je
-jk
-hm
In addition the following options work for ARJ a, f, m, u commands.
-a
-b
-m
-r
-t
-j#
-jh
-ji
-jm
-jn
-js
-hi
-hk
-hl
-hm
The following options work for ARJ y command.
-jb
-je
-g
-hg
The following options work for ALL but the ARJ a, f, m, u commands.
The name of the archive can be a wildspec.
-#
-d
-e
-p
-jr
The following options work for the ARJ a, f, m, u, e, x
commands.
-$
-c
-f
-g
-n
-u
-jf
-ji
-jx
-hi
The following options work for the ARJ e, x commands.
-d
-jc
-jw
-ho
-ho1
The following options work for the ARJ l, v commands
-n
-jp
The following options have limited use.
-q - works for all commands except j, l, n, o, t, v, w, y
-v - works for l, v, w commands
-jc - works for e, x, l, v commands
-jp - works for l, v, w commands
-jq - works for b, w, commands
-jv - works for most commands
-hw - works for w command
SAMPLE ARJ COMMANDS:
a: Add files to archive
ARJ a archive
ARJ a archive -n
ARJ a archive -f
ARJ a archive -jt
ARJ a archive -jt1
ARJ a archive -jt2
ARJ a archive -q
ARJ a archive -r
ARJ a archive dir\ -o
ARJ a archive dir\
ARJ a archive dir\ *.doc *.exe
ARJ a archive !names.lst
ARJ a archive -- -name-.txt
ARJ a archive name1 name2 name3
ARJ a a:archive -we:\ -vas c:\ -r -b2
ARJ a a:archive.001 -we:\ -vvw360 c:\ -r -b1
ARJ a archive -vw360 c:\ -r -y
ARJ a archive c:\ *.* -r -jt1 -jf
b: execute Batch or DOS command
ARJ b archive name.txt
ARJ b archive -jwOUT.NAM
ARJ b archive SHEZ.EXE -jwSHEZ.EXE
ARJ b archive *.exe -jwTEMP.EXE "-jqTEMP -help"
c: Comment archive files
ARJ c archive
ARJ c archive -z
ARJ c archive -zcomment.txt
ARJ c archive -zNUL
ARJ c archive file1 -jzcomment.txt
ARJ c archive *.doc -jzNUL
d: Delete files from archive
ARJ d archive *.doc
ARJ d archive *.* -n
ARJ d archive *.* -y
ARJ d archive !names.lst
e: Extract files from archive
ARJ e archive *.doc
ARJ e archive *.doc -d
ARJ e archive -jd50000
ARJ e archive -jo
ARJ e archive -c
ARJ e archive dir\ *.doc -jt
ARJ e archive *.doc -y
ARJ e archive -# 10 15 20-40
f: Freshen files in archive
ARJ f archive
ARJ f archive -r
ARJ f archive dir\ -r
ARJ f archive dir\ *.doc -r
ARJ f archive dir\ -r -jt2
g: Garble files in archive
ARJ g archive -gpassword
ARJ g archive *.doc -gpassword
ARJ g archive -g?
ARJ g archive -gpassword -hg
i: check Integrity of ARJ.EXE
ARJ i
ARJ i c:\bin\arj.exe
j: Join archives to archive
ARJ j archive name1.arj name2.arj name3.arj
ARJ j archive *.arj
ARJ j archive arjsfx.exe
ARJ j archive *.arj -o911201
ARJ j archive *.arj -r
k: purge bacKup files in archive
ARJ k archive *.*
ARJ k archive *.* -y
ARJ k archive *.doc -n
l: List contents of archive
ARJ l archive
ARJ l archive *.doc
ARJ l archive -o911201
ARJ l archive -o911201 -ob911231
ARJ l archive -n
ARJ l archive -jp
m: Move files to archive
ARJ m archive
ARJ m archive *.doc
ARJ m archive dir\ *.doc
ARJ m archive dir\ *.doc -o
ARJ m a:archive.001 dir\ -r -vvwas -jt2
n: reName files in archive
ARJ n archive
ARJ n archive *.doc
ARJ n archive !names.lst
ARJ n archive -o911201
o: Order files in archive
ARJ o archive !names.lst
ARJ o archive *.bat *.exe *.doc
ARJ o archive file1 file2 file3
p: Print files to standard output
ARJ p archive
ARJ p archive -jp
ARJ p archive *.doc
ARJ p archive -o911201
ARJ p archive name.txt > PRN
r: Remove paths from filenames
ARJ r archive
ARJ r archive *.doc
ARJ r archive -o911201 -ob911231
s: Sample files to screen with pause
ARJ s archive
ARJ s archive *.doc -y
ARJ s *.arj -y -r
t: Test integrity of archive
ARJ t archive
ARJ t archive *.exe
ARJ t archive !names.lst
ARJ t archive -jt1
u: Update files to archive
ARJ u archive *.doc
ARJ u archive *.doc -jo
v: Verbosely list contents of archive
ARJ v archive
ARJ v archive *.doc
ARJ v archive -jv
ARJ v archive -jv1
ARJ v archive -jp
w: Where are text strings in archive
ARJ w archive
ARJ w archive -hw
ARJ w archive -jp
ARJ w *.arj -jp
ARJ w *.arj *.doc
ARJ w *.arj *.txt -jq+5+string
ARJ w archive "-jq-3-to be or not"
x: eXtract files with full pathname
ARJ x archive *.doc
ARJ x archive *.doc -d
ARJ x archive -jd50000
ARJ x archive -jo
ARJ x archive -c
ARJ x archive dir\ *.doc
ARJ x archive -jf
ARJ x archive *.doc -jyc
y: copY archive with new options
ARJ y archive -je
ARJ y archive -je1
ARJ y archive -jb
ARJ y archive -jb1
ARJ y archive -jb2
ARJ y archive *.bat -jb2
ARJ_SECURITY ENVELOPE:
The ARJ-SECURITY ENVELOPE feature provides a facility similar to
other archivers. This feature disallows any type of modification,
even commenting, to an ARJ-SECURE sealed archive by ARJ. Moreover,
there are additional internal checks to determine if the ARJ-SECURE
sealed archive has been modified in any way. This EXTRA cost
feature is intended for use by software developers who distribute
their software in archived format and is only available for a
special fee. However, there can be no guarantee that this
mechanism cannot be defeated.
When accessing an ARJ-SECURED archive, ARJ will display a message
indicating that ARJ is verifying the security envelope. If the
envelope is damaged, a message will be displayed indicating so. If
the envelope is intact, then the ARJ-SECURITY signature of the user
"sealing" the archive will be displayed.
If the security envelope has been tampered with or the archive has
suffered data corruption, ARJ will display a message stating that
the security envelope has been damaged. In addition, ARJ will
abort processing the archive. The ARJ "-he" option and the ARJSFX
"-s" option will skip the envelope verification. The most likely
causes of an invalid envelope are that the file was corrupted in
transmission or that the archive was tampered with.
KNOWN ARJ ISSUES/PROBLEMS:
Apparently ARJ.EXE and LHA.EXE (possibly other archivers) will NOT
function properly in a WINDOWS DOS box while the REMOVEIT Smart
Custodian (July 7, 1995, Vertisoft) is running. This may be also
be true for later versions of REMOVEIT.
The -hm! option may not work in a WINDOWS DOS box while the XMS
accelerator option of Hurricane 2.0 is enabled.
Under MS-DOS 4.01, ARJ may not extract LARGE (greater than 32MB)
files from multiple volume archives properly. The "dir" reported
size may be incorrect. A simple "CHKDSK /f" will correct the size.
This problem is due to a BUG in MS-DOS 4.01. Microsoft Corp. has
fixes available for several DOS 4.01 bugs including this one.
Due to the inner workings of the compiler Turbo C++, ARJ may run
out of memory if your computer is configured with thousands of
bytes of environment variables.
The "-vs" option of ARJ may not function properly when ARJ is
trying to archive several thousands of files. This is due to a
lack of free memory to execute any external commands. The use of
the "-hm" option will free up memory.
When using a working directory, ARJ does not check for disk space
before overwriting the original archive. Be sure you have enough
space before updating an archive using the "-w" switch.
Because of a bug with extended archive header processing, you
should convert to ARJ 2.10 and above as soon as practical. This
bug is NOT a current problem because no version of ARJ supports the
use of the extended header.
If you have garbled (-g) ARJ archives that were created by ARJ 2.21
and the garbled files were stored (-m0) by ARJ, you may need to
refer to ARJ 2.30 to extract those files without getting a CRC
error.
TSRs that activate via HOT KEYS may be inhibited by ARJ during user
keyboard input. This is a "feature" of the Turbo C++ getc()
function. A partial workaround is to use the ARJ "-jyry" option to
go to single key query mode.
A similar problem occurs with HYPERDISK and staged writes.
HYPERDISK's timer delay appears to be inhibited during ARJ user
keyboard input such as during "Ok to .... volume/diskette?". This
causes an error when you swap to the next diskette. The workaround
is to use the ARJ "-jyry" option to go to single key query mode.
There is a reported problem using ARJ and floppy disk drives when
using the disk cache program SUPER PCKWIK 3.30 with advanced
diskette support (/D+). The system may occasionally hang when ARJ
attempts to read/write the diskette. You may also get CRC or Bad
file data errors. Disabling the SUPER PCKWIK option with /D-
appears to remove this problem. Other programs have similar
problems with this feature of SUPER PCKWIK.
ARJ ERROR MESSAGES:
See the document ERRORS.DOC.
COMMONLY ASKED QUESTIONS:
1) I have forgotten my password to an important garbled ARJ
archive. Is there an easy way to recover my lost files?
ANSWER: Sorry. Generally speaking, there is no easy way. There
is brute force trial and error. ARJ does not have any publicly
known or secret backdoor access to passwords. The password is not
stored in the archive in any form nor is any hint stored.
2) During extraction, ARJ aborts with a "Bad header" or "Bad file
data" error message. How do I recover my files?
ANSWER: Using the -jr option of ARJ, you should be able to recover
the uncorrupted files in the archive. The corrupted files are
unrecoverable. As a preventative, you can use the -hk option to
build an error correction recovery file that will allow you to
correct minor data corruption problems.
3) How do I backup a directory and its subdirectories and files to
multiple diskettes?
ANSWER: You should use a command as follows:
ARJ a a:archive c:\dir\*.* -va -r -a1
The -va option assumes that you are using formatted blank
diskettes. The -r option sets ARJ to recurse subdirectories. The
-a1 option sets ARJ to store empty directories.
4) Do I have to register ARJ if I use it at home for my personal
computer activities (BBSing, backup, sharing files)?
ANSWER: No, you do not have to register ARJ for such activities.
Instead, please share ARJ with a friend as a way of showing your
appreciation.
5) Can I distribute ARJ self-extracting archives or ARJ.EXE without
a license?
ANSWER: You may share these files with others for personal use.
However, you cannot distribute self-extracting files publicly
without a license. You cannot distribute ARJ.EXE to install
software without a license. The UNARJ.EXE program is freely
available to install software.
6) Can I distribute ARJ archives freely?
ANSWER: Any ARJ archives (not self-extracting) can be distributed
freely. Commercial users must have a registered ARJ to make the
ARJ archives.
7) ARJ displayed an error message indicating it ran out of memory
backing up my disk with 20,000 files on it. How can I proceed?
ANSWER: You should specify the -hm option to set ARJ to use disk
space to handle all of the filenames.
8) I am trying to extract a multiple volume archive. How do I get
ARJ to prompt for the second diskette?
ANSWER: You need to specify the -v option to set ARJ to prompt for
subsequent diskettes.
9) How do I extract an ARJ archive recovering the original
pathnames?
ANSWER: Use the "x" command as in "ARJ x archive".
10) How do I create a self-extracting archive?
ANSWER: Use the -je or -je1 options as in "ARJ a archive *.* -je".
11) How do I save empty directories in an archive?
ANSWER: Use the -a1 or -hb option.
12) Can I include ARJ.EXE in my CD-ROM collection of unregistered
shareware/freeware?
ANSWER: Any person or publisher may freely use and/or include
ARJ.EXE in a CD-ROM collection of unregistered shareware/freeware
provided the full shareware version of ARJ is included on the
CD-ROM.
13) How do I extract an ARJ archive created under Windows 95 to
a DOS only PC or to a Windows NT PC?
ANSWER: You have two options. The easiest is to use the "-hf2"
option to force ARJ to attempt to restore the long filenames that
are in the Win95 ARJ archive. ARJ will try to use DOS to create
the appropriate filenames. DOS only allows the standard 8.3 name
format. Example: ARJ x archive -hf2
The other option uses the "-hf1" option and the "-ji" option. The
"-hf1" option sets ARJ to extract files as "W95LNAME.000" names
with the file extension indicating the sequence number. The "-ji"
option is used to create a log file with the "W95LNAME.000" names
and their equivalent long filenames. This log file can be edited
into a batch file that can be used to recreate the original names.
Example: ARJ x archive -hf1 -jiNAME.LOG
14) How do I extract file to the directory C:\Program Files?
When specifying filenames with embedded blanks, they should be
quoted. If the last symbol before the last double quote mark is
a backslash, two backslashes must be specified.
Example: ARJ x archive "C:\Program Files" or
ARJ x archive "C:\Program Files\\"
ARJ TECHNICAL SUPPORT:
We have received many useful suggestions from users all over the
world. Many of those suggestions are in this version or will be
incorporated in later versions of ARJ.
We will try to resolve software problems with ARJ as they are made
known to us. Please notify us of any ARJ problems by mail, email,
fax, or via the ARJ support BBSes mentioned below. We will strive
to keep ARJ a robust, stable and useful product.
We will try to support unregistered users during their evaluation
period, but please read the ARJ documentation first. Registered
users will be eligible to receive technical support by mail,
telephone, fax, or electronic mail.
Please try to limit requests for ARJ COMMAND HELP. Refer to the
ARJ documentation FIRST. The time we spend answering simple
questions is time we cannot use to IMPROVE ARJ.
** ** ** ** ** ** ** ** *******
DO NOT ASK FOR TECHNICAL SUPPORT IN THE CASE OF LOST PASSWORDS!
** ** ** ** ** ** ** ** *******
ARJ AVAILABILITY:
The latest version of ARJ can be obtained from the following
sources:
ARJ SUPPORT BBSes: See ARJ_BBS.DOC
ARJ is available from a number of other BBSes, but we can only vouch
for the integrity of the archive if the ARJ###.EXE verifies its
ARJ-SECURITY envelope as valid. If no security envelope exists,
then the data has been re-archived and there is no assurance of
data integrity.
If none of the above sources are suitable, you may order a copy of
the latest version of ARJ directly from the author. Send a check
or money order for five dollars (US) to cover the costs of shipping
and handling. Please specify diskette size (3.5 or 5.25 inch);
otherwise, a 3.5 inch diskette will be shipped. Please allow a few
weeks for delivery, longer for foreign deliveries.
Our address is at the end of this document.
ARJ INTERNET MAILING LIST
New information announcements about ARJ is now available via an
Internet mailing list. You can subscribe (and unsubscribe) by
sending an email message to:
and writing in THE BODY of the message (not in the subject):
subscribe arj-info
You'll be sent a message stating that you were included in the
mailing list together with information, how to unsubscribe. If you
just state "help" (without the quotes) in the message, you'll get
more information on the available commands.
ARJ WEB SUPPORT
ARJ on WWW! You can reach ARJ support information at:
https://www.ARJSOFTWARE.com (ARJ homepage)
https://www.Dunkel.de/ARJ (German and English)
https://www.glo.be/tsf (French and English)
SDN EXTENSION FILES
SDN International(sm) is a FidoNet hobby organization which makes
available for distribution author-direct shareware files to FidoNet
capable bulletin board systems world wide. ARJ has been chosen by
SDN sysops' consensus as its official compression utility.
Program files distributed via SDN have a copyright ".SDN"
extension. Files distributed by SDN after February 1993 can be
decompressed by ARJ. Files dated earlier can be decompressed if
the compression utility SDN previously used is on PATH.
SDN files are security sealed with their own exclusive security
seal, FSecure, created by Pacesoft. This security may be verified
using the FileTest utility available at the SDN Project AuthorLine
BBS 203-634-0370 or at most SDN participating BBS sites.
Shareware authors wishing to distribute shareware by release
through SDN may contact the same SDN Project AuthorLine BBS.
DISTRIBUTORS:
A list of authorized ARJ agent/distributors are found in the
file AGENTS.DOC. They provide local registration and technical
support for ARJ. Other distributors only provide the evaluation
version of ARJ.
ACKNOWLEDGEMENTS:
LHARC is the name of an archiver by Haruyasu Yoshizaki.
PKZIP and ZIP are trademarks of PKWare, Inc.
PAK is the trademark of NoGate Consulting.
We wish to express my gratitude to Haruyasu Yoshizaki (Yoshi) for
developing LHARC and distributing its source code. LHARC gave us
the impetus to start studying data compression. We also wish to
thank Haruhiko Okumura for providing additional ideas. His AR001
and AR002 program provided the basic design for the early versions
of ARJ.
We also wish to thank Fabrice BELLARD for LZEXE which is used to
squish the ARJ SFX modules.
And my thanks also go to Paul Kocher who contributed the design of
the new ARJ SECURITY envelope mechanism.
We wish to thank those who have contributed significantly to the
development of ARJ. Those include:
Nico de Vries
Frederic Taes
Soeren Pingel Dalsgaard
Axel Dunkel
Jonathan Forbes
Ron Freimuth
Brian Godette
Robb Hufalt
Arkady Kleyner
Michael Lawler
Ken Levitt
Eberhard Mattes
Mike McCombs
Alexander Pruss
Joseph Teller
And to the many others who have helped, provided messages of
support, or provided financial support, THANKS!!! Because of
you, we are able to provide FULL-TIME support to ARJ!
I personally wish to thank my wife, Susan, and my son, Timothy, for
putting up with this ARJ obsession. Their encouragement and support
have been invaluable.
Our greatest thanks goes to Almighty God for His inspiration and
great salvation. For apart from Him, ARJ could not have been done.
John 15:5
It is our prayer that this product not be used in any way to
infringe or attack our freedom to worship.
USAGE AND DISTRIBUTION POLICY:
See LICENSE.DOC file for license policy.
BRIEF BIOGRAPHY OF THE AUTHOR OF ARJ:
Robert Jung grew up in Catonsville and Baltimore, Maryland. He
graduated from the University of Maryland in 1970. After a short
stint in the U.S. Army, he taught chemistry for six years. From
teaching he entered the computer programming profession where he
was employed as a programmer analyst, a network analyst, and a
software engineer. In late 1990, he developed the ARJ archive
format and program to meet a personal need in archiving. In
February of 1991, he released ARJ 1.00 as a shareware product.
The author currently supports ARJ full-time and resides in Norwood,
Massachusetts with his wife Susan, and son Timothy.
FINAL COMMENTS:
We do hope that you find this program as useful as we have. We
would appreciate any suggestions to improve this archiver.
You can reach us at:
Email address: [email protected]
Web site: https://www.ARJSOFTWARE.com
***** UPDATED MAILING ADDRESS *****
ARJ Software, Inc.
P.O. Box 249
Norwood MA 02062
USA
Fax number: 781-769-4893 as of September 1997
** ** ** ** *******
End of document
|