UPDATE.DOC, ARJ 2.41 April 1993 This documents new or updated information since ARJ 2.30. ** IMPORTANT NEWS **************************************************** The main changes to this release compared to ARJ 2.30 are faster compression speed, a better security envelope, and improved backup usage features. There is a very slight improvement in compression size. For some users, there is a noticeable improvement in processing speed with diskette based archives. ARJ uses a NEW SECURITY ENVELOPE scheme. This version does NOT recognize the previous envelope scheme nor will ARJ 2.39b and before recognize the new security envelope scheme. This is INTENTIONAL as there exist hacks of the previous ARJ security envelope. You can use a previous version of ARJ to verify older envelopes. The previous ARJ-SECURITY codes do not work with this new version. New codes and software will be mailed to ALL old and new ARJ-SECURITY customers within weeks of this release. The ARJ listfile feature (!listfile) has a new option "-hl" to display included filenames that cannot be found on the disk and to subsequently return a non-zero errorlevel. The "-he" option from ARJ 2.39b has changed function. Software developers of programs which support the ARJ format should take note of the following two changes. The self-extractor modules have been changed significantly. The standard ARJSFX module is 15K bytes in size. A larger 17K ARJSFX module supports ARJ-SECURITY. The main ARJ header no longer follows immediately after the EXE module. Various fields in the ARJ main header have been defined for use at 2.39 and above. The large ARJSFX module will NOT prompt for permission to continue the extraction if the "-e", "-x" or "-y" arguments have been specified. The small ARJSFXJR module will count the skipping of files that already exist as minor errors. This ARJSFXJR skipping will generate a DOS errorlevel of 1, while other errors will generate a DOS errorlevel of 2. However, with the new "-n" command line option, ARJSFXJR will not count skips as an error. The ARJSFXJR module now supports command line options. To prevent novices from using ARJ to update a multiple volume archive, ARJ will not allow a multiple volume update unless the new "-hu" option has been specified. Only multiple volume experts should try updating these type of archives. The "-y" option no longers suppresses the multiple volume prompt when the volume resides on a removable media drive such as a diskette drive. You can suppress the volume prompt with "-jyv". The processing of "-jy" and "-v" switch options have been improved to be consistent with other switch processing. The ARJ yes/no query prompts have been changed to have a local and a global effect. See the USER PROMPTS section below. A new user prompt has been added just before asking for a new filename during extraction when not overwriting. Whenever archiving to diskettes, it is HIGHLY recommended that the option "-jt" be used. This helps spot BAD diskettes or BAD diskette drives. It is HIGHLY recommended that the "-jt" option be used in a multi-tasking or network environment. The command "ARJ e -d archive *.*" will now prompt for permission to complete the deletion. Unless the "-jr" (recover) switch is used, ARJ will delete any file extracted with a CRC or Bad file data error. The "m" (move) command and "-d" option will NOW delete directories selected with the "-a1" option. UNERASE or UNDELETE commands do not always recover a file correctly. This will result in damaged archives. This is true for all archive types. You should always test an archive after unerasing it. If you use the software disk cache, HYPERDISK, see the KNOWN ARJ ISSUES section in ARJ.DOC for important information. ********************************************************************** USER PROMPTS The ARJ user prompts have been improved to provide more 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. The "Always" response has changed. It now sets ARJ to assume YES for subsequent queries of the same class. For example, answering YES 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. Subsequent user prompt messages will still be output to the screen after the "always" and "skip" responses 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. ARJ ERROR LEVELS ARJ will now return a DOS errorlevel of 9 when trying to process a file that is NOT an ARJ archive. With the new option "-hl", ARJ will return a non-zero errorlevel when a user specified filename from within an ARJ listfile cannot be found on disk. Ordinarily, ARJ returns no error for such a situation. ARJ ARCHIVE NAME WILDCARDING ARJ allows the wildcarding of the archive parameter for ARJ commands other than the add commands (a, f, j, m, u). If the "-r" option is specified, ARJ will scan through subdirectories looking for ARJ archives to process. This feature allows a user to delete a specific file from a series of archives. Example: ARJ d *.ARJ bbs.ad This feature could also be used to extract a series of archives. Example: ARJ e *.ARJ ARJ COMMAND LINE PROCESSING The option "-x-" will now ignore any previous "-xfilename" options. ARJSFX COMMAND LINE PROCESSING The larger ARJ self-extractor (-je) supports the new command line option "-s" to allow the skipping of the ARJ-SECURITY envelope verification test if an envelope exists. ARJSFXJR COMMAND LINE PROCESSING The small ARJ self-extractor (-je1) supports command line options. ARJSFXJR [-switch(es)] [drive:][target_dir\] switches: n: set ARJSFXJR to NOT count as an error the skipping of files o: set ARJSFXJR to overwrite existing files 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. ARJ COMMANDS "a" command When adding files that replace files in an archive, ARJ will now display a "Replacing " message to indicate an overwrite. "e" and "x" commands When overwriting a file, ARJ will display file size and date-time information concerning the ARJ file and the DISK file. "p" command When using the ARJ "p" command to redirect output to a viewer program such as "LIST", ARJ will now set the date-time stamp of the intermediate temporary file to the date of the archived file as opposed to the current date and time. ARJ SWITCHES "-b3" switch 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. "-d" switch The "-d" switch when used during extraction with the wildcard "*.*" will prompt the user for permission to delete the files. This prompt can be suppressed with the "-y" or "-jyd" options. "-i2" switch The "-i2" switch sets ARJ to display a combined percentage and bar progress display. "-m" switch The "-m1" and "-m2" compression methods have been modified to improve the compression ratios. "-od" switch 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 "-v" switch When the multiple volume ARJ files to be used are located on drives with removable media (diskette drives, etc.), ARJ will ALWAYS PROMPT for the next diskette even with the "-y" option specified. However, you can suppress the next volume prompt with the "-jyv" option. At DOS versions before 3.0, only drives A and B are considered removable. 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. ARJ will not allow the updating of multiple volume archives unless the "-hu" option is specified. 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 built on the hard disk. Example: ARJ a install -v360r50K make first volume 50000 bytes smaller than 360K. Example: ARJ u archive -v360u The "z" modifier works like the "s" modifier except that the system command is NOT echoed to the screen. 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 "-w" switch 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 "-jyd" switches. "-y" switch The "-y" switch will no longer suppress the "-v" next volume prompt when the archive is located on a drive with removable media such as a diskette drive. "-ja1" switch The "-ja1" switch will suppress the display of the archive comment. "-jn" switch The "-jn" switch is used to restart a multiple volume archive. The index file created by the "-ji" switch at ARJ 2.39 and above can be used to facilitate restarting. Please note that index files created by older versions of ARJ will not work with this restart method. This method uses the "-jn" syntax without a filename. The previously written index file is scanned to determine the restart information. To use this method of restarting, you must specify the "-ji" switch to build an index file while archiving to multiple volumes. To restart an interrupted sequence, simply specify the EXACT SAME command line as before and add "-jn". ARJ will determine the archive name, the restart filename, and the restart file position. Example: ARJ a a:volume -va c:\*.* -r -jiINDEX.FIL ARJ a a:volume -va c:\*.* -r -jiINDEX.FIL -jn "-jp" switch The "-jp" switch will be ignored if the ARJ output has been redirected as in "ARJ l archive -jp > dump". "-jr" switch The "end of file" error message will no longer be displayed when using the "-jr" option on a valid ARJ archive. "-jr1" switch The "-jr1" switch should be used when "-jr" switch usage cannot access some files in a damaged archive because of a premature end of archive marker. "-jy" switch The "-jy" switch options are now parsed like other switches with regard to toggling and the "+/-" modifiers. You can also specify multiple occurrences of the "-jy" options. Examples: -jyo -jyo evaluates to no change -jyo -jyo+ evaluates to suppress overwrite prompt -jyo+c+y+ evaluates to suppress overwrite and create prompts and use single key input mode "-ha" switch 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\*.* "-hc" switch 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" switch The "-he" switch sets ARJ to skip the verification procedure when accessing an ARJ-SECURED ARJ archive. This verification procedure is time consuming and need only be done once to be sure of the integrity of the archive. "-he1" switch The "-he" 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 "-hi" switch 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 "-hl" switch 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 "-hs" switch The "-hs" switch sets ARJ to disable its file sharing support. This may be necessary for some unusual applications. "-hu" switch The "-hu" switch sets ARJ to allow the updating of multiple volume archives. At this revision, by default, ARJ does not allow updating of multiple volume archives because of the possibility of losing data. Example: ARJ c archive -hu -zcomment.txt "-hw" switch 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 ONLY display the "Searching ..." filenames messages for files that contain string messages. "-hx" switch 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 end document