$VER: Manual.txt 1.1 (26/02/99) 1999 Morten Bjergstrm
@LhA Freeware Version 1.94
Copyright  1991-94 by Stefan Boberg.
Copyright  1998 by Jim Cooper.

Usage: LhA [-<options>] <command> <archive[.LZH/LHA]> [[homedir]
           <filespec>...] [@file] [destdir]

                        Where <Command> is one of:

  a    Add files                       c    Concatenate/Append archives
  d    Delete files                    e    Extract files
  f    Freshen files                   h    Hunt for diffs arc <-> filesys
  l[q] List archive (terse)            m    Move files to archive
  p    Print files to stdout           r    Replace files
  t    Test archive integrity          u    Update archive
  v[q] List archive (verbose)          vv   Show archive contents (full)
  x    Extract files with full path    y    Copy archive with new options

                      And <Options> is one or more of:

 -a  Preserve file attributes         -A  Set archive attributes
 -b  Set I/O buffer size (KB)         -B  Keep backup of archive
 -c  Confirm files                    -C  Clear arc-bit on extract
 -d  Archive date = newest file       -D  Alternate progress display
 -e  Archive empty directories        -E  Touch extracted files
 -f  Ignore filenotes                 -F  Use fast progress display
 -g  (Un)Garble with password  (N/A)  -G  Only extract newer files
 -h  Disable homedirectories          -H  Write header level ( 0,1,2 )
 -i  Read filelist from file          -I  Ignore ENV:LHAOPTS
 -k  Keep partial files               -K  Kill empty directories (move)
 -l  Make filenames lowercase         -L  Create filelist
 -m  No messages for query            -M  No autoshow files
 -n  No byte progress indicator       -N  No progress indicator
 -o  On or after date (newer than)    -O  On or before date (older than)
 -p  Pause after loading              -P  Set task priority
 -q  Be quiet                         -Q  Alternate option set introducer
 -r  Collect files recursively        -R  Collect archives recursively
 -s  Only add files with A flag unset -S  Set A flag on added files
 -t  Only extract new files           -T  Only extract new & newer files
 -u  Make filenames uppercase         -U  Set indicator update rate(bytes)
 -v  Set compression speed            -V  Enable / set multivolume size(KB)
 -w  Set work directory               -W  Exclude filenames
 -x  Preserve and use path names      -X  Do not append LZH/LHA suffix
 -y  Always append LZH/LHA suffix     -Y  Store big files w.ratio < 3%.
 -z  Do not compress files            -Z  Compress archives
 -0  Use LhArc V1.x compression       -1  Use LHA V2.x compression (-lh4-)
 -2  Use LHA V2.x compression (-lh5-)

                             Alternate options:

 -Qa Use simple console I/O           -Qb Test archive before extract
 -Qd Delete autoshow files            -Qh Set Huffman buffer size (KB)
 -Qn Set national character mode      -Qo Ignore options after cmd
 -Qp Ignore delete protection flag    -Qq Quick add
 -Qr Skip datestamp check             -Qv Set multivolume arc devices
 -Qw Disable wildcards

  Options are case-sensitive and may be specified anywhere on the command
line, the option letter followed by a 0 disables the option, any non-zero
digit will enable it. If no digit follows the option letter, it will be
enabled. Some options are enabled by default (depending on used command),
the default compression is LHA V2.x-style compression. For more info please
consult the user's manual.

  The destination directory must have a trailing slash (/) or colon (:).
@ARJ Amiga v0.6
 
 Usage: ARJ <command> [-<options>] <file>[.arj]
 
	Commands:	e - extract files
			x - extract files with full path
			l - list archive
			v - verbose listing of archive
			t - test archive
 
	Options:	c - show archive comment
			i - display no progress indicator
			n - extract only non existant files
			q - query on each file
			x - disable CRC checking
			y - assume yes on all queries
@LZX 1.21 (Registered) Archive/Extract utility - 68020/68030 Version.
Copyright  1995 Data Compression Technologies.  All rights reserved.
Registered to .

Usage: LZX [-<options>] <command> <archive> [<file>...] [<destdir>]

<command>:
  a  Add file(s) to archive               p    Print file(s) to stdout
  af Add file(s) to archive, faster       r    Replace file(s) in archive
  c  Concatenate archive(s)               t    Test file(s) in archive
  d  Delete file(s) from archive          u    Update file(s) in archive
  e  Extract file(s)                      v[n] List file(s) [verbose]
  f  Freshen file(s) in archive           x    Extract file(s) with full path
  l  List file(s) [terse]

<options>:
 -a (ax) Preserve file attributes        -q (ax) Configure console output
 -bi(ax) Set input buffer size (Kb)      -r (a ) Recurse into subdirectories
 -bo(ax) Set output buffer size (Kb)     -R (ax) Collect archives recursively
 -c (ax) Confirm files/archives          -s (a ) Add only files with no A bit
 -C ( x) Clear arc (A) bit on extract    -S (a ) Set A bit on added files
 -e (a ) Archive empty directories       -u (ax) Make file names upper case
 -E ( x) Touch extracted files           -U (ax) Set update rate (Kb)
 -f (ax) Ignore filenotes                -w (a ) Set work directory
 -F (ax) Fast progress display           -x (a ) Preserve path names
 -k ( x) Keep partial extractions        -X (ax) Control .LZX suffixing
 -l (ax) Make file names lower case      -y (a ) Store files with ratio >= x%
 -m (ax) Disable interactivity           -Y (a ) Compress archives
 -M (a ) Set merge group size limits     -0 (a ) Store files
 -o (ax) On or after date (yyyy/mm/dd)   -1 (a ) Fast compression
 -O (ax) On or before date (yyyy/mm/dd)  -2 (a ) Default compression
 -p (ax) Pause after loading             -3 (a ) More compression
 -P (ax) Set task priority               -9 (a ) Maximum compression
 -Qf(a ) Faster compression (more RAM)   -- (ax) Stop further option parsing
@AddBuffers(V1.3,2.x,3.x in C:)
	NAME 
 
	AddBuffers - Increase the sector cache for system 
	disk drives.
 
	SYNOPSIS
 
	AddBuffers DRIVE BUFFER 
 
	KEYWORDS
 
	DRIVE
	This is the name of the drive you want to buffer. It 
	can be either a floppy drive or a harddrive. Do not 
	assign buffers to RAM. You will slow down your system 
	considerably because all of its information is already 
	stored there. Only valid AmigaDos devices can be assigned
	buffers.
 
	BUFFERS
	The number of 512-byte buffers to add.  15 is how 
	Commodore set up your start-up sequence. This is a decent 
	number but not the best if you have more than enough ram. 
	Commodore set the buffers to 15 because the first Amigas 
	carried only 512k of RAM.  Optimum range is at about 30 
	buffers (15k of ram).  And again at 100 buffers (50k of 
	memory). Number below 30 and above 100 will not do you 
	much good.
@AddDataTypes (3.x Only in C:)
 
 
	NAME
	AddDataTypes - Adds additional data types after 
	booting.
 
	SYNOPSIS
	AddDataTypes [files] [Quiet] [Refresh]
 
@Ask(V1.3 in C:) (v 2.x & 3.x internal)
 
	NAME
  	Ask - Query user interactively.
 
	SYNOPSIS
	Ask Prompt WARN OK TIMEOUT
	DESCRIPTION
	Ask is a program that allows you to get a simple form 
	of input from a user.  It is most useful in Execute 
	scripts.
 
	You may specify a Prompt string, which will be 
	displayed to the user, and you may also specify a string 
	to match on for both YES and NO responses, as well as 
	specifying a time limit on the users response in seconds.  
	All of these strings have default values, the default for 
	the WARN string is 'Y', the default for the OK string is 
	'N', and the default for the Prompt is a single question 
	mark.
 
	If the user enters a string which matches the WARN 
	string, Ask will exit with a return code that will cause 
	an IF WARN statement to succeed.  If the user enters a 
	string which matches the OK string, exceeds the value 
	given in TIMEOUT, or simply hits RETURN then Ask will 
	exit with a ZERO return, suitable for the ELSE portion of 
	such an IF statement.
 
	More simply: A 'yes' returns a 5. A 'no' returns a 0.
 
	If the user enters a string other than those 
	specified in WARN and OK, then ASK will redisplay the 
	prompt, urging the user to give a better answer.
 
	EXAMPLE
	Here is an example of an Ask command which will 
	return a WARNING if the user types "Amiga", and an OK if 
	the user types "BigBlue", or waits longer than 10 seconds 
	to respond:
 
	Ask "Amiga or BigBlue?" "Amiga" "BigBlue" Timeout 10
	  IF WARN  ; typed amiga!
	  Echo "Obviously a person of quality"
	  ELSE ; typed big blue? or couldn't decide
	  Echo "You seem to be misguided"
	  ENDIF
@Asteriks (*) (1.3,/2.x/3.x internal)
 
	NAME
	* - 1) An escape character to allow quotation marks 
	in a filename.
 
	2)May be used to refer to the currently active 
	console device.
 
	DESCRIPTON
	The asteriks may be used as an escape character to 
	allow you to insert quotation marks and other asteriks 
	in a filename. For this to work, you must place an
	asteriks infront of any quotation mark or asteriks you
	wish to include in the filename.
 
	It may also represent the console device that's 
	currently active. For instance, if you wish to output 
	everything typed into the current CLI (ei the active 
	console device) to the printer or to a text file, you can 
	use the asteriks.
 
	2.x/3.x ONLY: You may use the asterisk as a wildcard 
	(as in MSDos). But this may only be done if turned on by 
	some external software.
 
 
	EXAMPLES
 
	1) To create a file called:  "ESCOM" Rules Amiga!   
	From a file called: "Commodore" Blew It!
 
	copy from "*"Commodore*" Blew It" to "*"ESCOM*" Rules Amiga!"
 
	2) To create a file called: "9*Fingers"
	From a filed called: *Nine Fingers
	copy from "**nine fingers" to "*"9**Fingers*"  
 
	note: Notice how the command line from file has all
	lower case letters and the file sitting on the
	disk has two capital letters in it. The CLI does
	not see the case of the character, so the 
	command will work just fine.
 
	3) To print out everything that shows up in the current 
	CLI:
 
	copy * TO prt:
 
	4) To copy everything that shows up in the current CLI to
	a file name 'work:What_I_Did':
 
	copy * to Work:What_I_Did
	
	
	note: To stop copying to 'Work:What_I_did' you must press
	the ctrl-\ key combination.
@Avail(V1.3, 2.x,3.x in C:)
    
	NAME
	Avail - Report memory statistics.
 
	SYNOPSIS
	1.3
	Avail [CHIP] [FAST] [TOTAL]
	
	2.x/3.x	
	Avail [CHIP] [FAST] [TOTAL] [FLUSH]
 
	DESCRIPTION
	Avail reports on the amount of memory available in 
	the system, its type, how much of each type is in use and 
	is free, and the largest single block of memory of each 
	type (also known as contiguous memory).
	
	This command is useful with shell scripts to 
	determine if there is enough memory available to load a 
	program, file or graphic before you actually perform the 
	load.
 
	OPTIONS
	CHIP 
	Reports the total amount of free chip memory
 
	FAST 
	Reports the total amount of free fast memory
 
	TOTAL
	Reports the total of all free memory, both fast and 
	chip.
 
	FLUSH
	2.x/3.x Only: This option will force all unused 
	devices, libraries and other resources out of the system, 
	which gives the most accurate report of available memory.  
	This will free you as much memory as possible by killing 
	all information in your memory not being used by any 
	program. This is useful to kill off all the residue of 
	processes that exited but did not give you all your 
	memory back.
 
	EXAMPLES
	1. To get all available system ram:
 
	Avail
 
	2. Show only Fast Memory
 
	Avail Fast
@BackTick (2.x/3.x ONLY) (CLI Function)
 
	NAME
 
	BackTick- Allows you to include the text output of 
	one command to be the input of another command.
 
	SYNOPSIS
	SomeCLICommand `AnotherCommand`
 
	DESCRIPTION
	This is a new and important feature of 2.x/3.x. 
	BackTick lets you insert the text output of one command 
	to be the input of another command. For instance, if you 
	wanted to print the contents of the Work:ESCOM directory 
	with an informative header you would type this:
 
	ECHO >prt: "The directories in work are:" `Dir 
	Work:ESCOM`
 
	It's a good idea to know where this key is, so I'll 
	tell you. It is the key right above the Tab key. The 
	unshifted version of that key is the BackTick (`), the 
	shifted version is the Tilde (~).  If you try to use the 
	parenthesis key (') your command will fail. There is a 
	difference between those two keys even though they look 
	similar on the screen.
 
	The backtick command always evaluates itself at the 
	time it is issued. If you wish to have the backtick 
	command evaluated after several other commands have been 
	issued you must place the asterix (*) escape character 
	before each backtick.
 
	For instance, lets say you want to create an alias 
	which displays the contents of the Gould:Loser directory. 
	You would type:
 
	Alias grovel Echo "Contents of the Loser directory is: *`dir Gould:Loser*`
 
	Now, whenever you want to see what is in that 
	directory you merely type 'grovel' and it will be shown.  
	But, if you don't include the asterixes then any changes 
	made to the Gould:Loser directory will not be reflected. 
	You will only see what was in that directory when the 
	Alias was first made.
 
	With some experimentation you will find this DOS 
	function to be one of the most useful.
@BaseName(V1.3- arp component))
 
	NAME
	BaseName - Display the Base (filename) of a pathname.
 
	SYNOPSIS
	BaseName Path/a Suffix
 
	DESCRIPTION
	Basename extracts the filename from a long pathname, 
	displaying it to the standard output.  You can also give 
	BaseName a suffix to delete.  The most common use for 
	BaseName is in scripts, where it is used to generate new 
	filenames from old.  This command is most useful with a 
	shell that supports command substitution and piping.
 
	EXAMPLE
	BaseName "DF0:Scoobie/Doobie/Foobar"
	Foobar
 
	BaseName "DF0:Scoobie/Doobie/Foobar.c" .c
	Foobar
 
 
	OTHER
	This command is new with V1.3 of Arp, it is not 
	available with the Commodore distribution.
 
	It has been replaced by several internal calls in 
	v2.x/3.x.
@Assign(V1.3, 2.x, 3.x in C:)
 
	NAME
	Assign - Binds a device name to a directory or file.
 
	SYNOPSIS
	1.3
	Assign Name Dir Etc/... LIST EXISTS REMOVE
	
	2.x/3.x
	Assign Name Dir Etc/... LIST EXISTS DISMOUNT
	DEFER PATH ADD REMOVE VOLS DIRS DEVICES
 
	DESCRIPTION
	Assign causes NAME: to be a synonym for a directory 
	or a pathname.  This is referred to as a "logical" 
	device, since it appears to the Amiga and the user as a 
	device, but is in fact a directory. You can use this as a 
	convenient shorthand to refer to lengthy pathnames, or to 
	refer to a variety of different directories by the same 
	name (just change the assignment when you want the 
	program to change directories).
	
	You can remove assignments by giving only NAME:, or 
	by giving a single minus ('-') as the directory or device 
	name.  There are also specifice keywords to remove 
	assigns which will be covered later. In any case, all 
	assigns are lost when the system is shut off or rebooted.	
 
	In 2.x/3.x you can assign a single device name to 
	many directories by simply listing all of the directories 
	after the device name.
 
	S:, L:, C:, FONTS:, DEVS:, LIBS:, T:, and SYS: are 
	all made during normal startups. All these assigns 
	directly relate with system operation. Therefor, they 
	should not be tampered with unless you are prepared to
	crash your system! So, don't mess with system assigns
	unless you know absolutly what you are doing...
 
	If there is already a directory with an assignment, 
	any new assignment will replace it. You cannot, however, 
	assign the same name to a device that already exists. So 
	an assign to device Work: if a disk whose name Work: is 
	already mounted. 
	
 
 
	OPTIONS
	LIST 
	Lists the current assignments. Under 1.3, if you 
	specify a single already assigned name on the command 
	line with LIST, it will be removed from the device list. 
	Under 2.x/ 3.x you can either make or remove assignments 
	along with listing them.
 
	EXISTS
	Takes a logical device name as an argument.  If the 
	name exists, the device name and its assignment are 
	displayed.  If the name does not exist, then the 
	condition flag is set to WARN (return flag 5).  This will 
	cause an IF WARN batch file statement to succeed.
 
	REMOVE
	For 1.3: Takes a logical device name as an argument, 
	and removes it from the device list.  This is useful 
	largely to individuals writing handlers, careless use of 
	this option can easily crash the Amiga. It will not, 
	however free up the memory that was taken up with the 
	assign.
	
	For 2.x/3.x: It can be used to delete one directory 
	from a list of assigns. Opposite of ADD (see below).
 
	DISMOUNT
	2.X/3.X ONLY: Used exactly like the REMOVE keyword 
	for 1.3 to remove a device from a list of mounted 
	devices.
 
	DEFER
	2.x/3.x Only: Postpones the assign until a command 
	tries to access that device. Defer will not throw out an 
	error if it searches for a directory and it does not 
	exist.
	
 
	PATH
	2.x/3.x Only: This expands on the DEFER keyword. 
	Whereas DEFER eventually binds the assign, PATH keeps the 
	assign non-binding.  Not only will it wait for a command 
	to access that device, but it will reevaluate the assign 
	every other time that device is requested for. (NB: This 
	is very convenient if you are a floppy only user. You 
	will not have to replace the Workbench each time FONTS: 
	is requested. Instead, you can insert different floppy 
	named fonts: each time that device is scanned for.)
 
	PATH will not accept multi directory assigns.
 
	ADD
	2.x/3.x Only: Let's you add new directories to an 
	existing assign.  For instance, if you assign a device 
	that is alread assigned you will lose your old assign. If 
	you use the ADD keyword, you will add the new assign to 
	the old assign.
 
	VOLS
	DIRS
	DEVICES
	2.x/3.x Only: Limits the information that is 
	displayed when you list your assigns. VOLS shows you only 
	which volumes are assigned, DIRS shows you only which 
	directories are assigned. DEVICES shows you only which 
	devices are assigned. If none of these keywords are used 
	then all three kind of information are displayed.
	
	CAUTIONS
	Random or careless assignments of the Amiga's 
	pre-assigned devices can cause mass confusion.
 
	Random or careless use of the REMOVE option can cause 
	a GURU (and crash your sytem).
 
	SEE ALSO
	Execute
 
	EXAMPLES
	
	1.
	ASSIGN DICTIONARY: df1:usr/lib/dictionary
 
	DICTIONARY: may now be used as a synonym for the 
	complete path df1:usr/lib/dictionary. If a program uses 
	the logical device DICTIONARY: rather than a hardcoded 
	directory name, then changing the DICTIONARY: assignment 
	will change the dictionary that the program will use.
 
	Assign allows a practically infinite number of 
	assignments or deletions to be made on one command line.  
	You may remove an assignment by using a minus '-' sign 
	instead of a logical directory or filename to subtract 
	this assignment from the device list.
 
	2. To return all the assignments made to your system 
	just enter:
 
	Assign
	
	3. 1.3 Only:
 
	To assign POOF: to the disk in DF0:, remove the 
	assignments for PUF: and DUF: and assigns CRUFT: to HD0:.
 
	ASSIGN POOF: DF0: PUF: - DUF: - CRUFT: HD0:
 
	4.2.x/3.x Only:
 
	To assign multiple paths to one device:
 
	Assign Music: Work:DeliTracker/Mods Work:OctaMed/Meds 
 
 
	To assign Fonts: to df0:Fonts only when a program tries to
	access Fonts:
 
	Assign Fonts: Df0:Fonts DEFER
	
@Alias (1.x,2.x,3.x Internal Command)
	NAME
	Alias - Create short names for longer command 
	strings.
 
	SYNOPSIS
	Alias [alias [string] ]
 
	DESCRIPTION
	This command lets you make short names (aliases) for 
	longer command strings. When a word is typed on the CLI, 
	AmigaDOS will subsitute a longer string for it. This 
	longer string may also contain arguments as well as 
	commands. It can also display a list of alias 
	assignments.
 
	For an alias to become global it MUST be entered in 
	the s:shell-startup script. Otherwise, it can only be 
	used by the shell that created it or through the NewCLI 
	command called from the same shell it was created.
 
	EXAMPLES
 
	1. To shorten the Delete command to DL
			Alias DL Delete
 
	2. To copy df0: to df1: using cop
 
	Alias cop Sys:System/Diskcopy df0: to df1:
 
	3. To copy an entire directory (empty or not)
 
	Alias cp copy [] ALL
	(When you type  cp directory 
	it gets expanded to:
	copy directory All
@Binddrivers (1.3,2.x,3.x) (location: C)
 
	NAME
	Binddrivers - Mounts device drivers residing in your 
	Expansion Drawer.
 
	SYNOPSIS
	Binddrivers
 
	DESCRIPTION
	Locates device drivers reisiding in the Expansion 
	drawer of your Workbench: disk. It then activates those 
	drivers for use. This is useful to add devices to your 
	system harddrives that are not mounted by the operating 
	system.
 
	You will also find binddrivers in your 
	startup-sequence.  This way, it can mount any external 
	devices during startup. All external devices can be found 
	in the 'expansion' drawer of the Workbench. If you don't 
	have a device in your expansion drawer then this line in 
	the startup-sequence does not do anything. 
 
	Even if you do not use Binddrivers Commodore 
	explicitely says NOT to tamper with the start-up 
	sequence. So, delete this line only at your own risk.
 
	NB: This is not part of 1.2.
 
	EXAMPLE
 
	1. To load the device drivers in the Expansion 
	directory of sys:
 
	Binddrivers
@Break(V1.3, 2.x, 3.x: internal command)
 
	NAME
	Break - Send a signal to a background process.
 
	SYNOPSIS
	Break Process=T=Task/a A=ALL/s C/s D/s E/s F/s 
 
	DESCRIPTION
	Many programs which run from the CLI will respond to 
	the typing of one of the control characters C D E or F. 
	By far the most common is control-C which usually causes 
	a process to terminate.  If you execute a task in the 
	background (by using Run or ARun), you will not be able 
	to send it a break signal from the keyboard, and that is 
	where Break comes in.  Once you know the CLI number of 
	the process you wish to signal (available immediately 
	after you run the process or by using the Status 
	program), you can send one of these control signals to 
	the background process. It simulates selecting a CLI 
	process with the mouse and pressing the specified 
	CTRL-key keystrokes.
 
	You may trigger up to four breaks at a time.
 
	EXAMPLE
	1. To send a control C to background process number 
	2:
 
	Break 2 C or Break 2 (Break defaults to control C)
 
	2. To send ALL control signals to background process 
	number 3: 
 
	Break 3 C D E F or Break 3 ALL
 
	3. 2.x/3.x Only: To signal a break to a program 
	running under the WAIT command:
 
	Break 'STATUS Com=Wait'
 
	CONSIDERATIONS
	Not all programs respond to break requests.
 
	SEE ALSO
	Status
@CD(V1.3 in C:) (2.x/3.x Internal)
 
	NAME
	CD - Report or change the current directory.
 
	SYNOPSIS
	CD Dir 
 
	DESCRIPTION
	CD when given a valid directory name, makes that 
	directory the current or default working directory. To 
	display the current directory, type CD without any 
	arguments.
 
	It also has a simple pattern matching capability.  
	You may use a wildcard specification as an argument to 
	CD, CD will make the first directory it finds that 
	matches the pattern the current directory. Pattern 
	matching is utilized with the Amiga wildcards).
 
	You can also move up one directory by using multiple 
	slashes (/). For instance, if the current directory is: 
	Work:Art/AGA by typing CD // you will change to the Work: 
	directory. 
 
	2.x/3.x only: You can also change directories by 
	simply typing the path name at the shell prompt without 
	typing 'CD'. The CD command is only needed if there are 
	any spaces in the path name. In this case you must place 
	the entire path in quotes.
 
	NB: AmigaDOS handles default drives unlike any other 
	personal computer. Let's say you insert a disk named 
	Stuff: in df0: and type CD df0:. Then, you remove the 
	disk and insert a disk named Things: and type dir df0:, 
	you will be requested to insert Stuff: in df0:.  To get 
	around this, merely type Cd df0: whenever a new disk is 
	inserted. This makes your Amiga read the new volume label 
	and it forgets all about the old disk.
 
	
 
	EXAMPLE
	1. To change directory to df0:libs
 
	CD DF0:LIBS
	
	2. To report current directory
 
	CD 
 
	3. To make any disk in Drive 0 the current directory
 
	CD ROOT  
 
	4. To change back to your root directory (2.x/3/x only)
 
	CD :      
 
 
	5. To move back up two directories (2.x/3.x only)    
 
	CD //  
	
 
 
	SEE ALSO
	Prompt
@ChangeTaskPri(V1.3,2.x,3.x) Location: C:)    
 
	NAME
	ChangeTaskPri - Change a tasks execution priority.
 
	SYNOPSIS
	ChangeTaskPri [P=Pri] [T=TASK=PROCESS]
 
	DESCRIPTION
	By increasing/decreasing the priority of various 
	tasks in the system, you can increase/decrease the amount 
	of CPU time each task is allocated.  If no type the 
	command without a number, it will return the task 
	priority number of that command.
 
	If executed with no arguments, ChangeTaskPri will 
	return the priority of the currently executing process.  
	This is useful in shell scripts.
 
	Your Amiga's operating system was created where each 
	task that is running gets assigned a priority from -128 
	to 127. The processor examines this number and prioritises 
	the tasks. The higher the number the more processing time 
	will be alloted to it by the processor.
 
	WARNING: Never raise a task priority higher than 5 or 
	less than -5. If you raise it above 5 you will override 
	important system tasks such as the input handler (which 
	checks the keyboard and the mouse). If the priority is 
	below -5 it will be completely shut out of the CPU by the 
	most trivial of instruction.
 
	EXAMPLE
	
	1. To change task 3's priority to -5
 
	ChangeTaskPri -5 Process 3 
	
	2. To Change current CLI's priority
 
	ChangeTaskPri 5 
 
 
	3.  2.x/3.x ONLY: To utilize the backtick feature to 
	change the priority of the C:CONCLIP task to 5
 
	ChangeTaskPri 5 Process 'Status com=c:conclip'
@Cmp(V1.3 ARP Only)               
 
	NAME
	Cmp - Compare files and report differences.
 
	SYNOPSIS
	Cmp From With FULL QUICK ALL
 
	DESCRIPTION
	Use Cmp to display differences between binary or text 
	files.  When comparing single files, the return code will 
	be set to WARN if the files do not match. This is useful 
	in scripts with IF statements.  The return code on 
	complex pattern matches with more than one file will 
	always be zero. When specifying directories as either the 
	From or With arguments, you may use a dot which means 
	"current directory".
 
	You can use either C-e (Control E) or C-f (Control F) 
	to abort the comparison of the current files and move on 
	to the next.  This is most useful with multiple input 
	files and the FULL (see below) option.  As usual, a C-c 
	(Control C) will abort the program all together.
 
	INPUT FILES
	You can specify the file or files to be compared 
	quite easily and naturally with Cmp using simple 
	pathnames or wildcard patterns or even directory names. 
	When you specify wildcards and/or directories to be 
	compared, Cmp will compare files with the same names in 
	each directory.  Cmp will not abort if it cannot find the 
	second file, it will simply print an informative message 
	and go on to the next file.  If you need to compare files 
	with different names, then you must specify each name in 
	full as the With name and the From name.  A more detailed 
	explanation follows:
 
	If From is a file, then With may be either a 
	directory or another file.  If a directory is supplied, 
	then Cmp looks for a file with the same name as the From 
	file in that directory:
 
	So, to a compare File with RAD:Dir/File2 
 
	Cmp File RAD:dir/File2  
 
 
	And to compare File with DirName/File
 
	Cmp File DirName   
 
	You may also use a wildcard pattern as the From file.  
	In this case, the With name must be a directory.  Cmp 
	expands the wildcard specification and tries to find 
	files with that name in the With directory:
 
	Cmp File RAD:Foo/$?.c DF0:c
 
	Finally, you can also use two directory names as the 
	From and With specification. This will compare all the 
	files of the same name in the From directory with all the 
	files of the same name in the With directory:
 
	Cmp Dir1 Dir2
 
	OPTIONS
	FULL 
	This will display all points at which the two files 
	differ.  The display is of the form "Offset: Byte1 Byte2" 
	where Offset is in decimal and Byte1 Byte2 are in hex. 
	Use C-e or C-f to move to the next file in the series, or 
	C-c to abort.
 
	QUICK
	The QUICK option will check to see if the two files 
	appear to be identical, by first comparing the date 
	stamps and file lengths, and if these are the same the 
	file comparison is skipped saving some time.
 
	ALL
	If there are subdirectories within the directories 
	you are comparing, the ALL switch will force Cmp to 
	recursively descend these directories, comparing files as 
	appropriate.
 
	NOTE
	This command is new with V1.3 of ARP, it is not 
	available with the Commodore distribution.
@CONCLIP (2.X/3.X only)  (location: C:)
 
	NAME
	Conclip- Directs console device to use the clipboard 
	for cutting-and-pasting. 
 
	SYNOPSIS
	CONCLIP [UNIT clipnum] [OFF]
 
	DESCRIPTION
	By default, the Amiga's console device only uses its 
	own internal buffer for copying and pasting. This command 
	directs the console device to use the clipboard for its 
	copying and pasting.
 
	Copy-and-Paste lets you copy a block of text from a 
	console window by drag-selecting it with the mouse then 
	pressing RightAmiga-C. You can then paste this into 
	another console window by activating that console and 
	pressing the RightAMiga- V. 
 
	Conclip not only lets you paste into other consoles 
	but also into the window of any other application which 
	supports the clipboard. 
 
	It's an extremely good idea to make sure it is in 
	your Startup-Sequence. This way, you will not have to 
	worry about it.
 
	Note: Conclip requires the iffparse.library to be in 
	your LIBS: drawer and the clipboard.device file to be in 
	your DEVS: drawer.
 
	KEYWORDS
	UNIT
	Lets you specify the device unit number from 0 to 
	255.  This designates the clipboard device number you 
	wish to paste to. You do not have to add the word 'UNIT', 
	you can merely specify the number.
 
	OFF
	Lets you turn off the clipboard device for that 
	console.  There is really no need to do this as it will 
	never effect the operation of anything else.
 
	EXAMPLES
 
	1. To direct the console to use the clipboard to 
	copy-and-paste:
 
	Conclip
 
	2. To change the clipboard unit number used by the 
	console device to unit 3:
 
	Conclip 3
 
	(By the way, the console device is utilized to accept 
	keyboard and mouse strokes and print them to the screen. 
	The output goes to a console window. The CLI has its very 
	own console window.)
@Copy(V1.3,2.x,3.x) (in the C: directory))
 
 
 
	NAME
	Copy - Copy files.
 
	SYNOPSIS
	Copy From To ALL QUIET BUF=BUFFER CLONE DATES
	NOPRO COM FLAGS QUICK
 
	DESCRIPTION
	COPY duplicates the contents of the file or files (if 
	wildcards or a directory is given) of its FROM argument 
	to the file or directory specified in its TO argument, 
	overwriting any existing file or files of the same names.
 
	FILE SPECIFICATION
	The From argument may be a file, a directory or a 
	wildcard pattern.  You can use a dot '.' as either the 
	From or To directory to indicate the current directory. 
	Double quotes "" can be used  to refer to the current 
	directory.
 
	If you copy a file, you may give that file the same 
	name or a different name as the original. If the 
	destination has the same name as the original then the 
	new copy will replace it.
 
	Copy can duplicate many copies of a file to the same 
	directory if dirrerent names are used. It can also 
	duplicate files to many different directories.
 
	If the From argument is a directory or a pattern, the 
	To argument is assumed to be a directory or destination 
	replacement pattern.  If the directory specified in the 
	To argument does not exist, it will be created for you.
 
	If you include wildcard characters in the To 
	argument, these are taken to be a request to use a 
	pattern substitution for the destination filename.  The 
	expected syntax is:
 
	<optional_prefix>|<optional_postfix>
 
	You may specify neither, one, or both of these 
	optional tags.  If you exceed the length of an AmigaDOS 
	filename (30 characters as of this writing) the name will 
	be silently truncated. 
 
	You can also indicate which portion of the From 
	filename you want to be replaced by using the wildcard 
	characters in the source pattern.    As an example, the 
	command:
 
	Copy l#? TO Ram:
 
	will copy all files beginning with an 'l' to the Ram:
	directory.  
 
	In 1.3 you CANNOT use wildcards for Directory names, 
	only file names. 2.x/3.x allows this.
 
	1.3 will not let you copy a file to a directory that 
	does not exist. In 2.x/3.x COPY will create a directory 
	if one does not exist.
 
	If you copy a file to the same directory it cannot 
	have a file with that same name of the protection bit is 
	set on the file being copied to. 
 
	The from statement is not needed as long as the 
	source and target files are in the appropriate order. If 
	the orders are changed (Copy To filename FROM filename), 
	the FROM is required.
 
	If you don't specify a directory, but the TO keyword 
	is used, then the current directory is copied to the 
	destination.  For instance, COPY TO Work: will copy the 
	entire contents of the current directory to Work:.
	
	Devices such as PRT: and SPEAK: can be designated as 
	the destination of any file being copied.
 
	2.x/3.x Only: You can chose multiple FROM files as 
	well as multiple TO files. 
 
	OPTIONS
	ALL 
	Copies ALL the files from the source directory to the 
	destination directory or device.  This will recursively 
	descend all subdirectories found in the From directory, 
	and create them (if they do not already exist) in the To 
	directory.  Without this switch, only the first level of 
	the directory hierarchy will be duplicated.
 
	QUIET
	Performs a Copy without reporting what it is doing.  
	This is useful for doing copies in the background, when 
	you do not wish to be disturbed by informative messages.  
	Note that errors will still be reported.
 
	BUF=BUFFER
	This allows you to specify the number of 512 byte 
	buffers used during the copy. Unlike the Commodore Copy, 
	which uses a fixed number of buffers if this option is 
	not specified (currently, 200 buffers), the ARP Copy sets 
	its internal buffer size intelligently as a function of 
	how much memory your system contains and the size of the 
	file to be copied.  Using this option overrides this 
	intelligent behavior.
 
	CLONE
	This instructs Copy to duplicate the date, comments 
	and protection bits (except the archive bit) of the 
	original file.  The default is to Copy only the 
	protection bits. (also see Environment, below).  This is 
	the same as using both the DATE and COM keywords.
 
	DATE
	This option instructs Copy to duplicate the datestamp 
	(also see Environment, below).
 
	NOPRO
	By default, Copy duplicates the protection bits of 
	the file(s) (except the archive bit).  Using this option 
	will override this behavior, and cause the file to be 
	created with the current system default protection (also 
	see Environment, below).
 
	COM  
	This forces Copy to duplicate the comment for the 
	file.  The default is not to duplicate the comment (also 
	see Environment, below).
 
	QUICK
	This ARP addition is a highly useful option which 
	will duplicate files only if the destination file does 
	not exist or is not the same. Copy uses the Datestamp, 
	Filesize, Protect bits, and also the Filenote (but only 
	if you have enabled copying filenotes) to determine 
	whether or not the file is the same. Since a byte by byte 
	compare is not done, it is possible to fool Copy.  
	However, in normal operation of the Amiga, this 
	dramatically speeds up Copies between directories and is 
	perfectly safe (also see Environment, below).
 
	FLAGS
 
	You can override the current setting of your 
	environment flags using this keyword.  Any option 
	specified on the command line overrides the default 
	settings specified by the copyflags environment variable. 
	This keyword takes a string of the same type used for the 
	copyflags variable.  For a discussion of these flags, see 
	Environment, below.
 
	NOREQ
 
	Normally, whenever you try to copy to a directory 
	that does not exist a requestor will pop up asking you to 
	insert it.  If you do not want that little requestor, 
	then use this keyword. This is useful for when you want 
	to write a script for someone else who does not have a 
	device you want to try to copy to (such as a printer or a 
	speech device- speech devices were removed from the 
	Workbench with 2.0). 
 
	ENVIRONMENT
	If you prefer a behavior for copy other than the 
	default, you can specify this behavior permanently by 
	setting a value for the copyflags environment variable.  
	This variable takes a string of characters composed of 
	the following:
 
	N    Always copy filenotes (see COM, above).
 
	C    Always copy original datestamp (see DATES, above).
 
	Q    Always copy QUICK (see QUICK, above).
 
	P    Never copy protection flags (see NOPRO, above).
 
	O    This flag does not correspond to any command line
	arguments.  When this flag is set, Copy will only
	duplicate files which already exist in the destination
	directory, it stands for 'OLD', and essentially
	performs an update operation.  This is extremely useful
	when trying to update old software with new software.
 
	These flags can be overridden by using a command line 
	option, or by using the FLAGS keyword to specify new 
	ones.  Note also that case is not significant.  You can 
	set the copyflags variable using Set, SetEnv, or directly 
	from the command line if you are using the Shell instead
	of the CLI.
 
	Set copyflags=CQ
	SetEnv copyflags=CQ
	
	The settings shown above is perhaps the most common: 
	it enables copying datestamps, protection bits, and the 
	QUICK option.
 
	EXAMPLE
	1. To perform an update from one directory to another 
	without using copyflags, use:
 
	Copy NewDir OldDir FLAGS=O
 
	
	2. To copy a file called TheFile to OtherFile in the 
	same dir:
 
	Copy TheFile Otherfile
	or
	Copy TheFile to Otherfile
	or
	Copy To Otherfile From TheFile
 
 
	3. To copy all the files from Df0: to Work:
 
	Copy Work: df0:
 
 
	4. To copy all files and subdirectories from df0: to 
	Work:
 
	Copy Df0: Work: ALL
 
 
	5. Copy all the files in the current directory to 
	Ram:
 
	Copy "" Ram:
 
	
	6. To Copy a file called Dudes in the current 
	directory to a file with the same name to a directory 
	called :WildWest/Cowboys, which is on the same disk:
 
	Copy Dudes :WildWest/Cowboys
 
 
	7. To Copy selected files from the current directory 
	to the Stuff: directory.
 
	Copy "" Stuff:
@CPU (V2.x & 3.x only) (located in the C: Directory)
 
	NAME
	CPU - Identifies which processor you have (68000, 
	68020,68030, or 68040...). It also sets the advanced 
	options of non 68000 or 68010 processors.
 
	SYNOPSIS
	CPU Cache Nocache DataCache NoDataCache Instcache
	Noinstcache ExternalCache NoExternalCache CopyBack
	NoCopyBack Burst NoBurst InstBurst NoInstburst
	DataBurst NoDataBurst Trap NoTrap FastRom NoFastRom
	NoMMUText Check 68010|68020|68030|68040|68881|68882|
	FPU|MMU
 
	OPTIONS
	Cache Nocache DataCache NoDataCache Instcache 
	Noinstcache ExternalCache NoExternalCache CopyBack 
	NoCopyBack:
 
	These are used to control the cache features of all 
	Motorola processors over 68010. These higher end 
	processors all have higher end instruction caches, which 
	stores processes inside the CPU itself. This allows those 
	internal functions to perform lightening fast because 
	they are inherant to the CPU and do not have to be 
	retrieved from memory. Instcache/NoInstcache turns these 
	functions on or off. 
 
	The 68030 & 68040 have a data cache in addition to 
	the instruction cache. These allow data to be retried 
	from memory in one grand instruction, thereby lowering 
	your CPU's overhead. DATACACHE / NODATACACHE turns this 
	on or off.
 
	CACHE / NOCACHE can turn on or off all the caches. In 
	1.3 caches are off by default and should be turned on 
	with the CPU command in your startup-sequence. 2.x/3.x 
	has them turned on as a default. 
 
	Some older programs (games mostly) that have problems 
	running with the higher end processors. These problems 
	may sometimes be solved by turning all the caches off.
 
	2.1 has added the CopyBack and NoCopyBack flags. 
	These help you manage the datacache on the 68040 which 
	does not automatically update the cache as changes are 
	made to the data. By default, this is off because it 
	conflicts with too many programs to be of any use.
 
	In addition to internal caches, there are also 
	external caches which can be turned on or off with the 
	ExternalCache or NoExternalCache flags.
	
 
 
	Burst NoBurst InstBurst NoInstburst
	DataBurst NoDataBurst:
 
	If your Amiga's memory is configured to accept a 
	special processor mode which feeds data at a superduper 
	fast speed you can utilize the Burst mode. 
 
	InstBurst and NoInstBurst turn on or off the 
	instruction mode in databursts.
 
	DataBurst and NoDataBurst turn on or off the data 
	mode in databursts.
 
	Burst and NoBurst control both the instruction and 
	data modes.
 
	Trap/NoTrap:
 
	This is a programmer's debugging flag. These will set 
	or clear the memory access trap which warns you if your 
	program is trying to access the lower 256 bytes of memory 
	or any memory above the 16 megabyte address (this 16 
	megabye hit is only noticed in the 68000 processor, 68010 
	and above allow higher end memory to be addressed).
 
	This illegal entry information is sent via the serial 
	port.  To use this function there must be a 9600 bps 
	terminal hooked up to your serial port as well as the 
	higher end processor.
 
	FastROM / NoFastROM:
	The 68000 processor is a 32-bit processor that is 
	accessed 16-bits at a time. If you add an accelerator 
	that has a full 32-bit processor and an MMU, you can 
	remap the kickstart into that 32-bit RAM and the MMU will 
	make it appear as though that is where the Kickstart 
	really lives. The FastROM command moves the ROM image 
	there, while the NoFastROM removes it from that area.
 
	
	NoMMUTest:
 
	Lets you remap kickstart to 32-bit ram without 
	actually checking to see if it is being used. This is a 
	function of the MMU (Memory Management Unit).
 
	
	Check 68010|68020|68030|68040|68881|68882|FPU|MMU
 
	This is used to check for the existence of why type 
	of processor or co-processor you have installed. For 
	example, if you type: "CPU Check 68000" and you have a 
	68000 installed, it will return a 1. If you have any 
	other processor installed a 0 will be returned.
 
 
	EXAMPLE
 
	1. To turn off the instruction cache, turn the data 
	cache of, and move the Kickstart ROM image to protected 
	32-bit memory:
 
	CPU NoInstcache NoDataCache FastRom
@Date(V1.3, 2.x, 3.x) (Locatin C:))             
 
 
	NAME
	DATE - Set or display the system date.
 
	SYNOPSIS
	DATE [Date] [Time] [TO=VER]
 
	DESCRIPTION
	Date is used to set the systems idea of the current 
	date and time, or to display the systems idea of the 
	current date and time.
 
	To display the current system time simply use Date 
	with no arguments.  You may specify a TO or verification 
	file to send the date to, if no TO file is specified, the 
	date is displayed in the current window.
 
	To set the time you use the format HH:MM:SS where H 
	stands for hours, M stands for minutes, and S stands for 
	seconds.  Leading zeroes are optional for all versions 
	except 1.2.  1.2 requires that you include a leading zero 
	before the 10th month.
 
	Commodore has a very strict formula for the date 
	formats. If you type a two digit year from 78 to 99 
	AmigaDos will translate that as 1978 to 1999. If you type 
	a two digit number from 00 to 45 AmigaDos will translate 
	that as 2000 to 2045. You cannot enter a year from 1946 
	to 1977. 
 
	If you accidently set a year from 0 to 45 all files 
	created will have the datestamp from the 21st century. 
	When you finally discover your mistake, and change the 
	date back to a correct date, that file will be 
	datestamped 'Future' since the 21st century is in the 
	future.  
 
	Saturday, Sunday, Monday, and the rest of the days of 
	the week can be used as flags. The system will evaluate 
	the day then advance the system date to match the 
	specified day of the week. So, if it is Monday and you 
	specify Thursday, the system clock will advance by three 
	days.
 
	FOR 1.3 Only:  SETCLOCK is used in the 
	startup-sequence to automatically read the system's 
	hardware clock (if present).  The A1000 and A500 did not 
	come with a clock installed.  Therefor, AmigaDOS would 
	check the boot disk for the date of most recent file and 
	sets the system date according to that.  The Date command 
	is then used to set the proper date and time.  This was 
	lost anytime you rebooted the computer or utilized the 
	SETCLOCK SAVE command.
 
	FOR 2.x/3.x: The clock is read automatically by the 
	system without utilizing the SETCLOCK command. Therefor, 
	you will never see it listed anywhere.
 
 
 
	EXAMPLES
	1. To use default AmigaDOS format.
 
	SET dateformat=0   
	
	2. To set the date, using AmigaDOS format
	Date 1-jan-88  
	
	3. To set the date to the next day's date and the 
	time to 12:00
	Date Tomorrow 12:00 
@Delete(V1.3, 2.x, 3.x...in C: directory))
	
	NAME
	Delete - Delete any number of files or directories.
	SYNOPSIS
	Delete [Files] [ALL] [Q=QUIET] 
	DESCRIPTION
	Under 1.3 you can only delete up to ten files or 
	directories with a single Delete command. Wildcards are 
	acceptable.
	
	Under 2.x/3.x you can specify any number of files to 
	delete on the command line, and you can also use wildcard 
	patterns for any or all of these files.
	OPTIONS
	ALL 
	By default, you can only Delete empty directories.  
	If you wish to Delete a directory and everything it 
	contains, you can specify this option on the command 
	line.  Note that directories may contain other 
	directories, which themselves may contain directories or 
	files: This option will delete that entire branch of the 
	directory tree, including these additional directories 
	and files.
	Q=QUIET
	If you use the ALL switch, or if you specify wildcard 
	patterns, Delete displays a message with each file that 
	it deletes.  This option causes Delete to do its work 
	silently, though error messages are still reported.
	
	FORCE
	If the 'd' protection bit is set for a file or 
	directory then that file is protected from deletion. But, 
	by using the FORCE keyword, any file will be deleted 
	including the ones that are 'protected'.
	
	EXAMPLE
	1. Delete all files in the current directory
	Delete #?
	
	2.  Deletes all files in the directory which start 
	with this or that.
	Delete (This|that)#?
	
@Dir(V1.3, 2.x/3.x) (located in the C: directory)
	
	NAME
	Dir - Pretty display of files and directories.
	SYNOPSIS
	DIR Dir OPT [ADFHIS] SIZE INTER HILITE FILES DIRS ALL
 
	DESCRIPTION
	Dir by itself displays any files and directories in 
	the current directory.  By default, Dir will display any 
	subdirectories, one per line, and then any files, in two 
	columns, in sorted order.  Directories are followed by 
	the string "(dir)".
	You can specify an alternate directory to display as 
	an argument, and you may also use wildcards.  If you use 
	wildcards, Dir will display all files that match that 
	wildcard pattern.  If it encounters a directory during 
	the course of its search for matching patterns, it will 
	display the name of the directory, and also its contents.
	
	OPTIONS
	OPT 
	This flag along with a single letter can represent 
	the option you desire, or you may use the clearer keyword 
	equivalents supplied.  The options and their keyword 
	equivalents are described below:
	SIZE or OPT S
	This ARP option displays the names of the files and 
	their sizes in two columns on the display device.  If a 
	directory is encountered, it is identified as usual with 
	a "(dir)".
	          HILITE or OPT H
	This ARP option enables pretty printing of Dirs 
	output.  All directory names will be displayed in inverse 
	video.
	          FILES or OPT F
	This displays only files, any directories found will 
	will not be displayed.
	          DIRS or OPT D
	This displays only directories, any files found will 
	not be displayed.
	          ALL or Opt A
	This option displays the complete contents of that 
	branch of the directory tree.  As Dir descends a level, 
	the indentation is increased to make the organization of 
	the disk clearer to the eye.  You may use some of the 
	other options or keywords along with ALL to generate the 
	display you need.
	          INTER or OPT I
	This allows interactive file browsing through a 
	directory or a disk.  Using this option, you will be 
	presented with a file or directory name, followed by a 
	question mark. You can find out what additional options 
	are available to you at this point by typing another 
	question mark '?', and pressing return.  These are:
	          B=BACK
	Moves backwards, up the directory tree.  If you are 
	at the top, this will exit the listing.
	          DEL=DELETE
	This will delete the current file.
	          E=ENTER
	This will enter a directory.  Note that you must be 
	at a directory entry in order for this option to be 
	valid.
	          Q=QUIT
	This will quit Dir.
	          T=TYPE
	This will type the current file.
	          C=COM
	This takes any command as an argument, and sends it 
	to a subshell.  Any shell command can be used here, 
	including the IO Redirection operators (<, >, and >>).  
	If you do not specify a command as an argument, you will 
	be prompted for one.
	     EXAMPLES
	1. To get a listing of all directories on drive DF1:
	             DIR DF1: ALL DIRS
	or
	DIR DF1: OPT AD
	            2. To get a listing of all directories and files and 
	the sizes of the files on drive df0:, as well as 
	displaying the directories in inverse video do:
	             DIR DF1: ALL SIZES HILITE
	or
	DF1: OPT ASH
@DiskChange(V1.3, 2.x, 3.x) (located C:))
 
 
 
	NAME
	DiskChange - Inform AmigaDOS that a 5 1/4 disk has 
	been changed.
 
	SYNOPSIS
	DiskChange Dev
 
	DESCRIPTION
	5 1/4 inch disk drives do not detect when there has 
	been a disk swap, and therefore cannot inform AmigaDOS.  
	After changing disks in the 5 1/4 inch disk drive, you 
	must issue this command. You will also need to do this if 
	you make a change to the disk's name using Relabel and 
	you want the Workbench to hear about it.
 
	Note that DiskChange may also be useful with other 
	types of media, such as removable media hard disks, or if 
	you are running FFS on floppy drives.
 
 
	EXAMPLE
	1. To inform AmigaDOS that you have changed a disk in 
	an external 5 1/4 inch drive.
 
	Diskchange df1:
 
	2. To inform AmigaDOS that you have changed a disk in 
	an external 5 1/4 inch disk drive that is mounted right 
	behind a 3 1/2 inch external drive:
 
	Diskchange df2:
@DiskCopy (1.2 in C: Directory) (1.3, 2.x, 3.x internal)
 
 
	NAME
	Diskcopy - Copies entire diskettes.
 
	SYNOPSIS
	DiskCopy FROM (source drive) TO (Destination drive)
	NAME (VolumeName) VERIFY MULTI
 
 
	Other computer systems require you to format a disk 
	before you make copies of old data. The Amiga lets you 
	copy to a disk that has information already stored on it. 
	All that old information will be lost though. This lets 
	you make backups of all important disk while helping you 
	dispose of files that you no longer use.
 
	DiskCopy is very useful because it takes just as much 
	time to format a blank disk as it does to perform a 
	diskcopy. But, if you only have a few files you wish to 
	copy, it may be quicker to just delete the files on the 
	destination disk you don't need using the delete command 
	then using the Copy command to transfer the ones you 
	want.
 
	DiskCopy can also be used devices of different types. 
	For instance you can copy between Ram: and Rad:. Or, df2: 
	and Ram. But, for it to work with Rad:, Rad: must contain 
	the same number of tracks (80) and blocks per track (11) 
	as a floppy device.
 
 
	KEYWORDS
	
	FROM
	This is the source, or the device you are copying 
	from.  If you only have one disk drive, this will be df0: 
	or the actual name of the disk mounted there (eg 
	MyDisk:). It can also be df1:, df2:, df3:, or df4: (if 
	you actually have these optional drives). OR, it can be 
	the RAD: or RAM: drive as stated before. Remember you 
	RAD: must be created in the same nature as a regular disk 
	drive for this to work.
 
	TO
	This is the desitination, or the device you are copying
	to. If you have only one diskdrive the copy may take quite
	a few disk swaps. This is because the contents of the source
	disk gets buffered into ram: before getting transferred to 
	the destination disk. If you have an original 256K A1000,
	this may take up to eight swaps. If you have an unexpanded
	A500, you're looking at about three swaps. If you have one
	meg of ram, you should not need to swap more than once.
	If you have two diskdrives you are the lucky one. This is
	because you will not have to make any swaps either because
	the data is passed straight through between the drives.
 
	If you have 1.3 the TO keyword is mandetory! The command
	will not function without it. But, under 2.x/3.x you do not
	need to put this keyword.
 
	NAME
	This is the name you are giving to the new copy. If you
	don't give a name, then the new volume will have the same
	name as the original. Despite the names being the same,
	there is some 'hidden' information on the disk which will
	distinguish the two disks from each other. 
 
 
	When diskcopy is stared, and the disks are being copied
	a neat little status bar opens up on your window showing
	you the progress as all 80 tracks are copied. YOu can
	cancel this process at any time by hitting 	the control
	break keys: Ctrl-C and then Return. If you hit these keys
	after the copying has already started, all information on
	the destination disk will be lost. The destination disk
	will also be rendered useless until it is formatted or
	diskcopied again.
 
	NOVERIFY
	As AmigaDOS copies a disk, it verifies each sector
	after it formats it. If you don't want AmigaDOS to check
	its steps, then use this keyword.
 
	There is no point in using this keyword. It is better
	to be safe than sorry. And a few seconds of time spent
	verifying your copying will save you tons of hearache later.
 
	MULTI
	Lets you load the entire disk into memory (if there is
	at least 880k of free memory). You can then insert as many
	destination disks as you want making multiple copies. The
	system will prompt you when it is ready for the next disk.
 
 
	EXAMPLES
 
	1. To make a copy from df0: to df1:
	Diskcopy from df0: to df1:   ; for any version of AmigaDOS.
	Diskcopy from df0: df1:		 ; for 2.x/3.x only
	Diskcopy df0: df1:    		 ; for 2.x/3.x only
@DiskDoctor (V 1.3 and 2.04. Omitted after 2.04) (in 
	C: directory)
	
	NAME
	DiskDoctor - Reconstructs the file structure of 
	corrupted disks.
 
	SYNOPSIS
	DiskDoctor (drivename)
 
	DESCRIPTION
	This can be described in two words: it sucks. It is 
	useless.  It has no purpose on any computer. That is why 
	it was removed after 2.04. 
 
	The concept was to repair directory and file 
	structures that were destroyed for any number of reasons. 
	These reasons can be anything from removing the disk 
	while it is still being accessed to a nuclear explosion. 
	When any type of magnetism comes in contact with your 
	floppy the data is scrambled and AmigaDOS can't read 
	anything there. You will get a variety of errors such as 
	'Volume is not validated', 'Not a DOS disk', 'Disk is 
	unreadable', or the ever so present 'Checksum Error' if 
	such damage occured. 
 
	Diskdoctor attempts to correct the damaged data on 
	the disk and save as much of it as it can.  DiskDoctor 
	can only attempt to repair FFS disks if the DEVS: 
	Mountlist is set to 0x444F5301 under the DOSTYPE keyword. 
 
	DiskDoctor is quite reckless when it repairs your 
	disk. You see, after it retrieves what data it can 
	salvage overwriting other information that may still be 
	used on the disk. It does this over- writing 
	indescriminatly without recognition of importance or 
	existence. 
 
	Therefor, if you ever use DiskDoctor, make sure you 
	are trying to repair a copy of your disk.  There is no 
	reason to use this when there are so many fabulous 
	disksalvage programs. The most notible is DiskSalv 
	created by David Haynie (former Commodore engineer and 
	all around Amiga Demi-God).  His program along with the 
	many other USEFUL salvage programs that actually work are 
	listed in the 'Replacements' selection of this reference 
	program. Quarterback Tools (no longer being developed) 
	and AmiBack Tools by Intelligent Designs are both running 
	close second to DiskSalv. 
 
 
	EXAMPLES
 
	I'M NOT GIVING ANY. THIS PROGRAM IS TOO STUPID AND 
	USELESS TO EVEN ACKNOWLEDGE IT WITH AN EXAMPLE.
@Echo(V1.3 in C:) (2.x/3.x internal))
 
 
 
	NAME
	Echo - Echo a string to the terminal.
 
	SYNOPSIS
	Echo [string] NOLINE FIRST LEN
 
	DESCRIPTION
	Echo displays its argument to the current output, 
	this can be the printer, a file or the terminal. Echo is 
	typically used in scripts, but it can also be used (and 
	useful) to send escape sequences to things like printers.
	
	2.x/3.x only: You can use echo to output a file to 
	the environment. This is shown in the example below.
 
 
	Note that with the added keywords, you MUST use 
	double quotes to delimit a line to echo under 1.3. Under 
	2.x/3.x you don't need the quotes ONLY if it appears last 
	on the command line. 
 
	If you want to add a line feed, use the *N character. 
	But, if you use this option in either 1.3, 2.x, or 3.x 
	then quotes must be used.
 
	OPTIONS
 
	NOLINE
	This suppresses the newline which Echo automatically 
	adds at the end of its argument. This is useful in that 
	it allows you to build a single line of text using the 
	output of two or more commands.
 
	FIRST
	This option takes a numeric argument, which indicates 
	which character position to begin output at. Any 
	character before FIRST will not be displayed. This is 
	useful with LEN (see below).
 
	LEN 
	This option takes a numeric argument, which indicates 
	how many characters to output.  If you also supply a 
	FIRST argument (see above), character output will begin 
	with that character, for LEN characters. If LEN is used 
	without the FIRST keyword, then the final LEN characters 
	will be displayed.
 
	EXAMPLES
 
	1. To display "Hello World" on the terminal.
 
	Echo "Hello World!"
 
	2. To advance the printer paper, and displays Hello 
	World! on the printer. Note that you must have set your 
	escape character to \ for this example to work.
 
	Echo >PRT: "\FHello World!" 
 
	3. To display "ello World!".
 
	Echo First 2 "Hello World!" 
  
 
	4. To display "rld!".
 
	Echo Len 4 "Hello World!"
 
 
	5. To display "World!".
 
	Echo First 7 Len 6 "Hello World!" 
	
	6. To print the text file Ram:This.text to your 
	screen.
 
	Echo Ram:This.text
@Ed (1.3, 2.x, 3.x located in C:)
 
 
	SYNOPSIS
	The Amiga's built in full-screen text editor.
	
	Ed is a complete text editor. Due to the huge scope 
	of the available commands you should consult your Amiga 
	System manual on how to exactly use Ed.
 
	If enough people contact me to include a full 
	tutorial in DOSMan, I will write one.
	
 
	FORMAT
	1.3:
	ED FROM (name) [SIZE (numchars)]
 
	2.x/3.x:
	ED [FROM] name] [SIZE numchars] [WITH comfile] 
	[TABS interval] [WINDOW device] [WIDTH columns]
	[HEIGHT rows]
 
	
	KEYWORDS
	FROM
	This is the name of the file you wish to edit.
	If the file does not exist, Ed will create it. This keyword
	is optional as long as it is the first arguement in the
	Ed statement.
 
	SIZE
	This sets the size of the buffer which ED uses. If
	this is the second arguement in the command line, then
	the keyword is optional, you only need to type the number.
	SIZE defaults to 40,000 bytes. If your buffer is not big
	enough to hold the file you are editing, then you will
	get a warning message informing you of this from Ed.
 
	WITH
	2.x/3.x Only: This lets you make an Ed command file
	to execute automatically. This is a command file that
	contains a list of extended instructions for Ed that
	will execute when the file is run. This exists in the 
	form of a script. See your Amiga's manual on how to set
	up this command script.			
 
	TABS
	2.x/3.x Only: This lets you set how many spaces will
	be skipped when	you hit the Tab key. The default Tab is
	three spaces.
 
	WINDOW, WIDTH, HEIGHT
	2.x/3.x Only: The combination of these three commands
	would allow you to open Ed on a remote terminal. Window
	lets you specify this device (for example, AUX:). The
	Width and Height lets you set the demensions of the new
	window.
 
	2.x/3.x Only: You can also edit binary files, not just
	plain ASCI text.
 
	EXAMPLE
 
	1. To edit a text file called ThisText in the 
	Work:TextFiles directory.
	Ed Work:TextFiles/ThisText
 
	2. To edit a really big file of 75,000 kbytes in the 
	Work:TextFiles
 
	Ed Work:TextFiles/ReallyBig.txt SIZE 80000
@EDIT (1.3, 2.x, 3.x) (Located in the C: Directory)
 
	SYNOPSIS
	An AmigaDOS line editor.
 
	FORMAT
	EDIT [FROM] fromname [TO] toname [WITH] withname 
	[VER] vername [OPT W chars or WIDTH chars] [OPT P lines 
	or PREVIOUS lines]
 
 
 
	EXPLANATION 
 
	Unless you grew up with UNIX and really dig line 
	editors you should really try a different program (even 
	Ed) before you dive into Edit. 
 
 
	What does set Edit apart from Ed (and most other text 
	editors) is that it is able to edit binary files and it 
	can execute a predefined list of line editor commands.
 
	Please note that starting with version 2 of Ed you 
	can do the same thing, so there is really no need to keep 
	both of these programs hanging around on your system 
	disk.
 
	
	KEYWORDS
	FROM
	EDIT requires the FROM keyword. This will tell EDIT 
	which file to edit. This filename must exist. EDIT will 
	not create the file for you like Ed will.
 
	TO
	This will tell edit where to save the file to once 
	you decide to finish. If this is the second command in 
	your arguement, you do not need the TO keyword.
	
	EDIT is limited in the fact that it will not 
	overwrite a file that already exists. If the TO filename 
	is the same as the FROM filename then instead of 
	overwriting the FROM filename it will be save the 
	original as :t/edit.backup. The file you are working on 
	then gets named and saved as the FROM filename.
 
	WITH
	This specifies a file which will be used as input to 
	EDIT's command options. The contents of WITH must be a 
	series of valid options for it to work.  If WITH is the 
	third argument in an EDIT command line, the keyword is 
	optional. If you don't use this keyword you must manually 
	input your parameters.
 
	Due to the huge scope of available commands you 
	should consult your Amiga System manual on how to 
	configure EDIT. 
 
	If there is enough of an interest I will write a full 
	tutorial on how to configure EDIT.
 
	VER
	This lets you specify where to send the output of 
	EDIT to. You can send the output to any logical device 
	including PRT: to print it.
 
	OPT W  or WIDTH
	OPT P  or PREVIOUS
	This lets you set the actual physical size of EDIT. 
	WIDTH lets you set the actual line length.  PREVIOUS lets 
	you designate how many lines will be kept in EDIT's 
	history buffer. 
 
	The default for line length is 120 characters and the 
	default history buffer is 40 lines. If you multiply the 
	WIDTH by the PREVIOUS you will get the exact amount of 
	RAM you need to reserve as a work buffer. This amount can 
	be set with the STACK command. 
 
	If you set the OPT W and OPT P options, you must use 
	the OPT keyword with the W or P letters.
 
 
 
	EXAMPLES
 
	1. To edit a file called MyText in the default 
	directory:
 
	EDIT MyText
 
	2. To edit a file called MyText and to save it under 
	a file called YourText that is 5000 lines long:
 
	EDIT FROM MyText TO YourText OPT P5000
 
	3. To edit a file called MyText and to use the editor 
	commands located in the edit.prefs file (which you 
	created earlier). The data will then be saved as 
	YourText. And, to send all the messages and verifications 
	from EDIT to your printer while setting the number of 
	lines to 50 and a line width as 175:
 
	EDIT FROM MyText TO YourText WITH edit.prefs VER
	PRT: OPT W175 OPT P50
 
 
 
	See also:
 
	STACK
@Else (1.3 in C:) (2.x/3.x internal)
 
 
 
	NAME
	Else - FALSE clause of IF conditional.
 
	SYNOPSIS
	Else
 
	DESCRIPTION
	Else is used in combination with IF to perform 
	conditional testing.  If the IF conditional fails, 
	control will be passed to the commands following the 
	ELSE.  If the IF conditional succeeds, then the commands 
	following the ELSE (up to the concluding ENDIF) will be 
	skipped.
 
	Note that Workbench 2.x and above contains a builtin 
	version of this command.  The 1.3 of Else cannot be 
	executed outside of a script, while the 2.x/3.x version 
	of Else can be executed inside or out of a script file.
 
	SEE ALSO
	IF ENDIF Execute
@EndCLI (V1.3 in C:) (2.x/3.x internal)
 
 
 
	NAME
	EndCLI - Terminate a CLI or Shell.
 
	SYNOPSIS
	EndCLI
 
	DESCRIPTION
	EndCLI causes a shell process to terminate.  The 
	shell will shutdown, freeing all of its resources and 
	closing its window (if it is interactive).
 
	Note that if another program is still using the 
	console for a CLI, you may not be able to close a console 
	CLI window even after running ENDCLI until you terminate 
	that command.  This is most likely to occur if you have 
	"RUN" some command from the CLI and it is still executing 
	when you try to EndCLI.
 
	2.x/3.x Shell contains this command as a builtin. 
	Also, you can press the CTRL-\ or click on the close 
	button to exit your shell.
 
	SEE ALSO
	NewCLI NewSHELL
@EndIf(V1.3 in C:) (v 2.x/3.x internal)
 
 
 
	NAME
	EndIf - Show end of IF ELSE Conditional.
 
	SYNOPSIS
	EndIf
 
	DESCRIPTION
	This is used to mark the end of a conditional block 
	in a script. Note that in 2.x/3.x this command is 
	builtin.
 
	If the tested condition proves false then all 
	commands after ELSE and before ENDIF are executed. If the 
	tested condition is true, then all commands after the IF 
	and before the ELSE keywords are executed.
 
	SEE ALSO
	IF ELSE Execute
	ENDSHELL  (1.3: Alias) (2.x/3.x Internal)
 
 
	NAME
	ENDSHELL - Exactly like ENDCLI except it can close 
	the CLI or Shell window.
 
	SYNOPSIS
	ENDSHELL
 
	DESCRIPTION
	This terminates the CLI or Shell window just like the 
	ENDCLI command does. 
 
	Under 1.3 this command does not actually exist.  It 
	is created in the startup-sequence with the Alias 
	command. But, it acts exactly like ENDCLI.
 
	SEE ALSO
	ENDCLI
@EndSkip(V1.3 in C:) (2.x/3.x internal)
 
 
 
	NAME
	EndSkip - Unconditionally abort a SKIP in progress.
 
	SYNOPSIS
	EndSkip
 
	DESCRIPTION
	If EndSkip is encountered after executing a Skip 
	command in a Script, the Skip will be aborted, and the 
	fail level will be set to WARN.
 
	Note that in 2.x and 3.x this command is builtin.
 
	SEE ALSO
	Execute Skip Lab
@Eval(V1.3, 2.x, and 3.x in C:)
 
 
 
	NAME
	Eval - evaluate arithmetic and logical expressions.
 
	SYNOPSIS
	Eval Value1/a Op Value2 TO/k L=LFORMAT/k
 
	DESCRIPTION
	Eval computes the results of simple arithmetic and 
	logical expressions as applied to two arguments, and 
	displays the result on its standard output. Numeric 
	arguments may be input as:
 
	Decimal
	This is the default, no extra qualifiers needed.
 
	Hexadecimal
	Enter hexadecimal numbers as 0x<number> or 
	#x<number>, for example:  0x1A or #x1A.
 
	Octal
	Enter octal numbers as 0<number> or #<number>, for 
	example: 0777 or #777.
 
	Binary
	Binary numbers (in ARP eval only) may be entered with 
	#B, for example:  B1111
 
	Character
	Characters are supported only by the Commodore Eval.
 
	The operations supported are given below:
 
	addition        +         not                    ~
	subtraction     -         left shift            <<
	multiplication  *         right shift           >>
	division        /         negation               -
	mod            mod        exclusive or          xor
	and             &         bitwise equivalence   eqv
	or              |
 
	Any fractional amounts that result from this process 
	are discarded.
 
	OPTIONS
	TO  
	You can send the output of Eval to a file which is 
	indicated in the path with this keyword.
 
	L=LFORMAT
	You can control the output format of Eval using this 
	keyword. 
 
	There are four formats you specify: hexadecimal (%X) 
	Octal (%O), Decimal (%N), or ASCII (%C). The hex and 
	octal formats require a number after the letter to 
	indicate how many letters you want to print.	For 
	example, to display a hexadecimal number in a field of 8, 
	you can do LFORMAT="%08lx".  You can also include escape 
	characters (such as *n for a newline) inside your LFORMAT 
	string.  For this release of Eval, you also need to 
	always use the 'l' (for long) format character with all 
	format commands.  The default is set to Decimal. 
	
	You can also include any text you desire in the 
	format string by using quotes. For example:
 
	LFORMAT = "There are %N widgets sold."
	EXAMPLE
	
	1. To find the sum of 2 + 2 and print the answer as 2 
	octal digits followed by a new line character.
	
	EVAL 2 + 2 LFORMAT = "%O2*N"
@Execute(V1.3, 2.x, and 3.x in C:)
	
	NAME
	Execute - Cause the shell to execute commands from a 
	file.
 
	SYNOPSIS
	Execute [Filename] [ARGS...]
 
	DESCRIPTION
	Execute causes the shell or CLI to read the commands 
	from the filename specified as Execute's input argument.  
	When the end of the file is reached, control returns to 
	the keyboard.  You can force the Shell to abort any 
	script file processing by typing a C-d (Control D) 
	sequence while the script is being executed.
 
	You can even include nest an Execute inside your 
	script to cause one script to call another one during its 
	execution.
 
	In AmigaDOS 1.3 and above, you can execute a script 
	without typing EXECUTE and just typing name of the script 
	if the 'S' bit is set.
 
	
	KEYWORDS
	FILENAME
	The name of the script to execute.
 
	ARGS
	Any arguments to be passed to the file. These may be 
	any valid AmigaDOS string (including filenames and all 
	sorts of devices.	
 
	DIRECTIVES
	Execute recognizes several special commands known as 
	Directives.  Each of these Directives begins with a DOT 
	'.', but this character can be redefined if needed.  
	Execute is reasonably flexible in allowing you to 
	redefine its special characters, which is quite 
	fortunate, as you will soon see.
 
	In order for Execute to recognize these directives, 
	the DOT character must be placed at the beginning of the 
	line, and the directive name must follow immediately, 
	with no intervening whitespace.  You can also use the DOT 
	(again, at the beginning of a line only) to introduce a 
	comment. This usage is ".<whitespace>Anything" where 
	whitespace is any of space, tab or newline.
 
	Many of these directives deal with passing arguments 
	to scripts and establishing defaults for arguments.  
	These are described below:
 
	.KEY and PARAMETERS
	The .KEY directive (which may be abbreviated as .K) 
	is used to declare the names of parameters which will be 
	used in the course of the script file. Note that these 
	are not environment variables.  If you intend to pass 
	arguments to a script file, it is wise to use this 
	directive as the first line of a file. If the first 
	non-empty line (i.e., a line which contains anything 
	other than a newline) does not contain a dot command 
	(directive), then the arguments will not be processed.
 
	The .KEY directive accepts any legal template.  These 
	are the same kinds of templates you see all the time in 
	the AmigaDOS commands. Note that currently, there is no 
	support for multiargs (the /... template type) in 
	scripts, and so you should not use this in your 
	templates.  All the usual processing associated with 
	templates is active in scripts, including the '?' display 
	of the template, and position independent arguments.
 
	When you use the .KEY directive, Execute matches up 
	the users arguments with your template keywords, and if 
	no error occurred, scans the file for any items 
	surrounded with the BRA KET characters.  These are 
	initially '<' and '>', which is quite unfortunate, since 
	these tend to conflict with the IO redirection operators.  
	It is wise to change these to another character using the 
	.BRA and .KET operators (see below).
 
	When a BRAKET sequence is encountered, Execute 
	replaces the keyword inside the BRAKET with the users 
	argument.  If the user did not enter an argument for that 
	keyword, and there is no default setting for this 
	keyword, then Execute removes the argument all together, 
	resulting in a NULL string.  Arguments that do not take 
	an argument, for example, switches (template type /S), 
	are handled somewhat differently.  If the user supplied 
	the switch on the command line, then the braket sequence 
	is replaced by the actual name of the switch, otherwise, 
	it is null.
 
	DEFAULT VALUES FOR PARAMETERS
	This assigns the value string to all occurrences of 
	the substitution argument described below.
 
	You can set default values for your variables in two 
	ways.  The first way is to use the .DEFAULT directive.  
	.DEFAULT (which may be abbreviated as .DEF) takes a 
	template keyword and a default value.  If that keyword 
	does not have a value at the time the .DEFAULT statement 
	is scanned, then Execute binds the value to that keyword.  
	Here is an example of its use:
 
	.DEFAULT Foobar "Testing123"
 
 
	Another way to set default values is by using the 
	DOLLAR (initially each time the parameter is used, it 
	does not set it permanently:
 
	Echo "<Foobar$Testing123>"
	Note that a .DEFAULT statement will override all 
	following DOLLAR defaults. The decision as to which to 
	use is usually based on how many times you use that 
	parameter.  If you only use it once, then either will do. 
	If you use it many times, then .DEFAULT is probably the 
	simplest.  Also note that there is not a conflict between 
	this use of the DOLLAR and the use of the dollar during 
	Shell environment expansion: The DOLLAR is special to 
	Execute only inside of BRAKETS, and the shell expands the 
	environment variables only after Execute has parsed the 
	file.  Unless you use environment variables inside of 
	BRAKETs, there should be no need to change your .DOLLAR 
	character.
 
	You can also use a double DOLLAR inside of brackets. 
	This will be replaced by the current CLI number.
 
	CHANGING THE META CHARACTERS
	The following directives are used to change the 
	default meta characters used by Execute.  Each take a 
	single character as their argument.
 
	.BRA and .KET
	These change the bracket characters (initially '<' 
	and '>', respectively) to something else.  It is highly 
	recommended you make a habit of doing this, whether you 
	think you need to or not.  Good characters to use instead 
	are the curly braces ('{' '}') since these are not needed 
	for anything else, currently.
 
	.DOT 
	This changes the DOT character (initially '.').
 
	.DOL or .DOLLAR
	This changes the DOLLAR character (initially '$').
 
	MISCELLANEOUS
	Execute may be nested, i.e., you may include Execute 
	commands in scripts, which can also contain Execute 
	commands.
 
	Execute will sometimes need to write a temporary 
	file.  If you have assigned a directory or device to T:, 
	then this location will be used.  If not, and there is a 
	:T directory for the current directory, then Execute will 
	create the assignment, and use this directory.  
	Otherwise, it will attempt to create both the directory 
	and the assignment in the current directory. EXECUTE uses 
	<$$> with the task number of the CLI from which it is run 
	to create this.
 
	EXAMPLES
 
	1. To execute a script named RunThis located on Df0:
 
	EXECUTE df0:RunThis
 
	2. Here is an example of a KEY directive which 
	contains a switch.  This illustrates a good way to handle 
	and use /s style arguments in script files.
 
	.KEY MySwitch/s
	IF "<MySwitch>" EQ "MySwitch"
	Echo "The switch is on!"
	ELSE
	Echo "The switch is off!"
	ENDIF
 
	If the user doesn't supply MySwitch as an argument on the
	command line, then the comparison will fail (the first
	argument will be ""), otherwise, the comparison will succeed
	(the switch is "on").
 
	SEE ALSO
	If Skip Failat Lab Echo Quit
@Failat(V1.3 in C:) (2.x, 3.x internal)
 
 
 
	NAME
	Failat - To set a fail level for a batch file.
 
	SYNOPSIS
	Failat RCLim
 
	DESCRIPTION
	When using Execute to run scripts, any command that 
	returns an error greater than the current value of the 
	Fail level will cause the shell to abort the script with 
	an error message.  You can use Failat to increase or 
	decrease this level to whatever you need.  The shell will 
	reset the Fail level (usually 5, 10, 20 but can be any 
	number) at the end of every script execution, so scripts 
	always start out in a known state.
 
	Under 2.x/3.x the result code is stored int the 
	environment variable RC, which is represented by $rc. The 
	bigger the return code, the bigger the error. If the 
	severity of the error is higher than the number you set 
	then the script stops running.
 
	Once your FAILAT has been run in the script, the 
	FAILAT level returns to 10.
 
	You can use FAILAT to a very high number and test the 
	return codes that any of your IF statements return.
	
	
	EXAMPLE
	1. To temporarily set the failure level to 30
 
	Failat 30 
	This now makes it possible to execute commands that return
	error codes greater than 20, which would ordinarily cause
	Execute to stop with an error message.
 
	2. To display the current failure level threshold.
 
	Failat
@Fault(V1.3 in C:) (V2.x/3.x internal)
 
 
 
	NAME
	Fault - translate numeric error codes to ascii text.
 
	SYNOPSIS
	Fault Fault/...
 
	DESCRIPTION
	Normally when your Amiga has an error it returns a 
	requestor telling you what you need to do. Many errors do 
	not bother to open up this requestor, only a number (for 
	example, 'Last command failed with error 330). This 
	command accepts numeric those error codes and turns them 
	into system error messages, or if the error code is not 
	defined the numeric code is again displayed.
 
	Translates all the faults into English-lanuage 
	explanations.
 
	The CLI and Shells (and many programs) call on Fault 
	to report their errors for them.  
 
	In 2.x/3.x this fault code is stored into the 
	variable 'result 2'.
 
	The AmigaDOS command also  does this but may not root 
	out the exact problem. If the AmigaDOS command WHY does 
	not satisfy your cuiriosity of what the error was about, 
	then using Fault directly after it will expound on it.
	
 
	EXAMPLE
	1. To display the error message associated with fault 
	code 220:
 
	FAULT 220
	
 
	2. To display the error messages with fault codes 
	216, 220, and 330:
 
 
	FAULT 216 220 330
@FF (ONLY in 1.3) (DOES NOT exist in 2.x/3.x)
 
 
	SYNOPSIS
	FF - Speeds up the text display.
 
	FORMAT
	FF [-O] [-N] [fontname]
 
	EXPLANATION
	This only exists in 1.3 because 2.x/3.x have fast 
	text routines that are inherit with those systems. If you 
	are using a standard 8x8 or 10x9 font FF will speed up 
	the display of the text on 1.3 machines. 
 
	Not only that, but you can use FF to replace the 
	format system font as long as it is of the proper size 
	and is fixed width. 2.x/3.x uses the Font Prefrences in 
	the Prefrences drawer to perform this same task.
 
	
	KEYWORDS
 
	-O
	This tells FF to speed up the text. It is on by 
	default.
 
	-N
	This tells FF to turn off the fast text routines and 
	can be turned back on by reissuing the command.
 
	[fontname]
	This tells FF to replace the system default fonts 
	(TOPAZ80 and TOPAZ60). The font you use to replace it 
	must have the NewFont.font file as well a drawer which is 
	associated with that font file containing the data for 8 
	or 9 size fonts, or both. 
 
	If you designate a font that does not have those 
	files available, the default Topaz fonts will be used.
 
 
	EXAMPLES
 
	1. To turn on fast text routines:
	FF
	or
	FF -O
 
	2. To turn on fast text routines while replacing the 
	system fonts with the Neat.font:
	FF Neat.font
@Filenote(V1.3, 2.x, 3.x in C:)
 
 
 
	NAME
	Filenote - Sets a comment for a file.
 
	SYNOPSIS
	Filenote [File]filename Comment
 
	DESCRIPTION
	You can set a comment for a file of up to 79 
	characters using this command.  You can also remove the 
	comment for a file using this command by specifying a 
	null comment string.  Comments may be viewed with the 
	list command.
 
	When you COPY a file, the note does not get copied 
	with it.  When you RENAME a file, the note stays attached 
	to that file.  If you change the file in any way, except 
	COPYing it, the file note does not get effected. If you 
	add another filenote to a a file that already has one, 
	then the old one gets deleted and the new one replaces 
	it.
 
	If you LIST a directory, these filenotes are 
	displayed. The notes will appear right below the file 
	name with a : in front of it.  If there is an icon 
	attached to that file, then you can read or write a note 
	through that icon's information window.
 
	These filenotes do not effect the file they are 
	attached to in anyway what so ever.
 
	KEYWORDS
	FILE filename
	This is the file the note is to be attached to. If this is 
	the first argument in the command string then the FILE keyword is
	optional. 
 
	1.3 only: Only one file can be annotated at a time.
 
	2.x/3.x only: Wildcards are completely acceptable. 
	You can also annotate as many files as you like at the 
	same time.
 
 
	COMMENT string
	If this is the second argument in the command string then the
	COMMENT keyword is optional. This defines the note that is to be
	attached to it. The string must be enclosed in quotation.
 
	ALL
	2.x/3.x only: Lets you add the same note to all the files in
	the specified directory and all its subdirectories.
 
	QUIET
	2.x/3.x only: Does not list the files as the notes are being
	added.
 
	EXAMPLE
	
	1. To attach a note that says "Here it is!" to your 
	file ThisFile
 
	Filenote FILE ThisFile COMMENT "Here it is!" 
 
	2. To attach a note that says "Don't delete this no 
	matter what!" to the File Important.text
 
	Filenote Important.text "Don't delete this no matter what!"
 
 
	SEE ALSO
	Copy List
@FORMAT (1.3, 2.x, 3.x in SYS:System)
 
	NAME
	Format- Initializes a disk as being blank.
 
	SYNOPSIS
	FORMAT [DRIVE] [drivename] [NAME] [string] 
	[NOICONS] [QUICK] [FFS] [OFS] 
	[INT=international]
	[NOINT=nointernational]
	[DIRCACHE] [NODIRCACHE] 
 
	DESCRIPTION
	FORMAT takes a disk and initialises it to make it 
	empty. You can also specify a name for it, but it you 
	don't it will name it 'empty.
 
	WARNING: All information on the disk will be erased 
	while using this command.
 
	After typing FORMAT, you are prompted to insert a 
	disk and hit the RETURN key. After you hit RETURN you 
	cannot turn back. It can be interrupted by hitting the 
	CTRL-C and then RETURN. But, some data will be lost.
 
	As the format occurs, the status of the format is 
	displayed.  Each cylinder number (0-79 for a double 
	density floppy) clicks by on the screen until every 
	cylinder is initialized then verified. After this entire 
	process the volume name is assigned.
 
	If you are copying one disk to another DISKCOPY is a 
	much faster command. This is because you must first 
	FORMAT, then INSTALL, then COPY ALL the from between the 
	disks. If you are using DISKCOPY all these steps are 
	performed by the DISKCOPY command. 
 
	The only time the FORMAT-COPY ALL routine is better 
	than the DISKCOPY is when the information on the source 
	disk have been deleted and rewritten so many times that 
	the contents of the disk have become scattered. By 
	formating the disk then copying all the files over, you 
	are consolidating them. By consolidating them you will 
	greatly speed up your disk accessing time. The only time 
	DISKCOPY will be better on a scattered disk is if you 
	optimize the disk first using one of the many optimizing 
	programs available.
 
	KEYWORDS
 
	DRIVE drivename
	The drive which contains the disk to be formatted. 
	The valid entries are df0: df1: df2: and df3:. 
 
	FORMAT can be used on any logical device. These 
	devices include harddrives, recoverable ram drives, or 
	even removable media which is readable/writeable.
 
	WARNING: Make sure you are typing the write device 
	name.  By typing DH0: instead of DF0: my cause you lose 
	the entire contents of your harddrive when you just 
	wanted to format a floppy disk. 
 
 
	NAME string
	This is the name you are giving to the disk you are 
	formatting.  The NAME keyword is absolutly mandatory. The 
	NAME can be up to 31 characters long and if it contains 
	spaces must be contained in quotes.
 
	NOICONS
	With this keyword prevents the Trashcan from getting 
	created during the format process.
 
	QUICK
	This keyword makes FORMAT initialize only write over 
	the root-block, the boot block, and the bitmap block, 
	without formating the rest of the disk. This is good to 
	do whenever you are formatting a disk that already has 
	been formated before because it is many times faster. 
	But, this keyword will not work if the disk has never 
	been formatted before.
 
	FFS
	This keyword forces the disk to be formatted with the 
	Fast File System (FFS). FFS lets you keept much more 
	information on the disk than the OFS (Old File System).  
	WB 1.3 cannot boot from FFS and may have trouble reading 
	them. 2.x/3.x use this by default.
 
	OFS
	This keyword forces the disk to be formatted with the 
	Original File System (OFS). OFS does not hold as much 
	information as FFS.
 
	INTL=INTERNATIONAL
	This keyword corrects a case-sensitivity problem 
	associated with international characters.  For instance, 
	some languages have letters that other languages don't. 
	INTL ensures that the proper characters are displayed and 
	stored. I don't recommend using this because people using 
	pre-2.0 Amigas will not be able to read the disk.
 
	NOINTL=NONINTERNATIONAL
	This keyword will keep the international mode from 
	being formatted onto the floppy.  For information on the 
	International mode see the INTL keyword description. 
	NOINTL is Format's default.
 
	DIRCACHE
	This speeds up the opening of drawers, file 
	requestors, and listing on that disk. It is OFF by 
	default. A disk formatted with the DIRCACHE on cannot be 
	read by pre-3.0 Amigas. So, only AGA machines can read 
	disks formatted with DIRCACHE on.
 
	NODIRCACHE
	This keyword will keep the DIRCACH mode turned off. 
	For more information on DIRCACHE see the DIRCACHE 
	keyword. NODIRCACHE is the system default.
 
  
	EXAMPLES
 
	1. To format a disk in Df1: and naming it My_Disk:
 
	FORMAT DRIVE df1: NAME My_Disk:
@GET (2.x/3.x Only) (Internal Command)
 
	
	NAME
	GET - Shows the contents of a local environment 
	variable.
 
	SYNOPSIS
	GET varname
	
	DESCRIPTION
	A named text string that is stored in an environment 
	space is a local environment variable. It can only be 
	accessed through the shell it was created in or from a 
	shell that was spawned from the shell it was created in.
 
	OK... so what's the difference between GET and 
	SETENV. Well, SETENV is stored in the RAM disk and is 
	global to all system functions. GET resides in some 
	private (reserved) memory that may only be accessed as 
	described above.
 
	By placing a dollar sign before the name, you can 
	swap the value of a local environment variable on the 
	command line. In other words, if you type 'ECHO $Peter' 
	you are creating the same local environment variable as 
	GET Peter.
 
	
	KEYWORDS
	varname  
	This is the name of the environment variable to get. 
 
	There are many local environment variables which are 
	already created by the 2.x/3.x operating systems. The 
	proper use of these makes AmigaDOS a very flexible and 
	powerful scripting language. The more important and 
	useful of these variables are:
 
	Process
	The process number of the current Shell
	
	Echo
	Decides whether or not the Shell will repeat each of 
	the commands as they are executed. If 'SET Echo on', then 
	the commands are repeated and displayed.  Anyother use of 
	Echo will not allow any commands to be repeated. Turning 
	Echo on helps you to debug any scripts that you are 
	having problems with, since there is no other way to tell 
	how they failed. With Echo on, you can tell which line in 
	the script failed to work.
 
	RC
	The return code of the last command that was 
	executed. You can manipulate this return code instead of 
	using IF WARN or IF FAIL commands structures. This is a 
	more efficient programming algorythm routine.
 
	Result2
	The error number of why the last command failed. You 
	can use the FAULT and/or WHY commands to try to figure 
	out the exact nature of the error.
 
 
	EXAMPLES
	
	1. To print the contents of an environment variable 
	named StupidMahedi:
	
	GET StupidMahedi
@GetEnv(V1.3, 2.x, 3.x)
 
 
 
	NAME
	GetEnv - display value of environment variable.
 
	SYNOPSIS
	GetEnv Name
	
	DESCRIPTION
	GetEnv displays the values of Environment variables. 
	These variables are accessible to all tasks (unlike GET 
	which is only accessible to the environment which created 
	it).
	
	GetEnv searches both the older Environment variables 
	and the new ENV:  handler if it exists. (Note that ENV: 
	is currently just a directory in RAM:, it is not a true 
	handler).
	
	GetEnv prints the contents of this file.
	
	KEYWORDS
	varname
	The name of the environmental variable to get. This 
	is the name of the file that is found in the ENV: 
	direrectory located in RAM:.           
	
	Kickstart/Workbench
	2.x/3.x Only:	
	These are created during startup. They contain the 
	version of your Kickstart and Workbench that is currently 
	being used by your system.
	
	Editor
	2.x/3.x Only:
	Some Workbench programs such as MORE are able to 
	recognize the environmental variables. If you set this 
	variable to the pathname of your favorite text editor, 
	then MORE allows you to bring up the program to edit the 
	current file by pressing Shift-E.
	
	SEE ALSO
	Set Get
@IF(V1.3 in C:) (2.x/3.x Internal)
	
	
	
	NAME
	IF - Add intelligent branching to scripts.
	
	SYNOPSIS
	IF NOT WARN ERROR FAIL string1EQstring2 
	string1GTstring2 string1GEstring2 VAL EXISTS
	
	
	DESCRIPTION
	If the condition tested by IF evaluates to TRUE, then 
	the commands immediately following the IF, up to the 
	following ELSE or ENDIF, are executed. If the condition 
	tested by IF evaluates to FALSE, it moves the execution 
	of the file ahead to the command following the next ELSE 
	command (if there is one), or to ENDIF, if there is no 
	intervening ELSE.
	
	The ELSE command (if used) must show up between the 
	IF and ENDIF statements.
	
	CONDITIONS
	Each of the following will evaluate to true or false:
	
	WARN 
	This will be true if the return code value set by the 
	last command is greater than or equal to 5.
	
	ERROR
	This will be true if the return code value set by the 
	last command is greater than or equal to 10.
	
	FAIL
	This will be true if the return code value set by the 
	last command is greater than or equal to 20.  Note that 
	you will have to use a Failat command to raise the 
	default fail limit from 10 to above 20 if you wish to use 
	this test.
	
	string1EQstring2
	This takes two strings, and will be true if both 
	arguments are the same (i.e., EQUAL).  The default is a 
	string comparison, but see VAL, below. The comparison is 
	not case sensitive. The test can be reversed by using the 
	NOT keyword with it. It can be a numberic comparison if 
	you utilize the VAR keyword. Strings 1 & 2 are normally 
	text, if there are spaces in the strings then quotes must 
	be placed around it. 
	
	Environmental variables may also substitute a string 
	by using a dollar sign ($) directly before the the 
	variable name (so, $Amount represents the variable 
	Amount).
	
	string1GEstring2 
	Takes two arguments. This will be true if the first 
	argument is Greater than or Equal to the second argument.  
	This may be combined with NOT (see below) to perform a LT 
	(less than) test. The default comparison is a string 
	compare, use VAL to compare numbers.  Strings 1 & 2 are 
	normally text, if there are spaces in the strings then 
	quotes must be placed around it. 
	
	Environmental variables may also substitute a string 
	by using a dollar sign ($) directly before the the 
	variable name (so, $Amount represents the variable 
	Amount).
	
	string1GTstring2
	Takes two arguments. This will be true if the first 
	argument is Greater than the second.  This may be 
	combined with NOT (see below) to construct a LE (less 
	than or equal to) test.  The default comparison is a 
	string compare, but use VAL to compare numbers. Case 
	sensitivity does not matter. Strings 1 & 2 are normally 
	text, if there are spaces in the strings then quotes must 
	be placed around it. 
	
	Environmental variables may also substitute a string 
	by using a dollar sign ($) directly before the the 
	variable name (so, $Amount represents the variable 
	Amount).
	
	EXISTS
	This takes one argument, which should be a device, 
	file or directory.  This will be TRUE if the device, file 
	or directory exists. 
	
	MODIFIERS
	The following options to IF modify the meaning of the 
	above tests:
	
	NOT  
	Inverts the sense of the test.  This is always used 
	in combination with another keyword. As an example, the 
	line: "If NOT EQ" will be TRUE if the EQ is false. This 
	modifier combines with any of the others.
	
	VAL 
	This affects the type of compare done by the EQ GT 
	and GE keywords. By default, the comparison is a string 
	compare.  However, if you specify this keyword, the 
	comparison performed is numeric.
	
	If you don't use the VAL keyword then the string will 
	be compared one numeral at a time from left to right.  
	For instance the string 22 will be shown to be greater 
	than 011 since the first character is 0 in the second
	string which is smaller than 2 in the first.
	
	OTHER
	2.x/3.x contains this command is internal. The only 
	other difference between the 1.3 & 2.x/3.x version is 
	that the 2.x/3.x version can be executed directly from 
	the command line, while the diskbased version cannot.
	
	
	EXAMPLE
	1. If you are running Workbench 3.0, the CLI will say 
	"An Execellent decsion. If you are running any other OS 
	then you get a message saying "Why not?"
	
	IF EXISTS Workbench3.0
	Echo "An excellent decision!"
	ELSE
	Echo "Why not?"
	ENDIF
	
	SEE ALSO
	Execute Assign
@Info(V1.3, 2.x, 3.x in C:)              
	
	NAME
	Info - report information about mounted file 
	system(s).
	
	SYNOPSIS
	Info NAME DATES
	
	DESCRIPTION
	This command displays important and useful 
	information about each disk unit. INFO displays what disk 
	volumes are in use and the amount of strorage they have.
	
	INFO also will display the name of all the disks 
	residing in any physical disk drive. This is helpful if 
	you in helping you remember what volumes are mounted 
	where. You also get a list of available volumes is also 
	listed (those mounted and unmounted).
	
	The 3 1/2 inch disk has 880k of space available to 
	them. After you format it under OFS (Old File System) you 
	only have 837k left. If you use FFS (Fast File System) 
	you have a full 879k to use. If you are fortunate enough 
	to have a high density drive, then you can use 1759k of 
	disk space. 
	
	The entire disk format is stored in sectors. There 
	are 1758 usable sectors on the Amiga disk. OFS's divide 
	each sector into 488 bytes whereas FFS has a full 512 
	bytes per sector. High Density disks use 3518 bytes per 
	sector. INFO will report the number of sectors already 
	used on the disk and how many are available for use. RAM: 
	is dynamic.  That means, it will always be reported as 
	100% full (even if it is empty) and will expand as needed 
	until it is full.
	
	INFO will also report if there are any 'soft' errors 
	on your disk.  So, what is a soft error? Well, it is a 
	temporary error. For example, an error reading 
	information from a disk. If the system cannot read the 
	information off the disk, it will retry a couple times. 
	If all reads fail then you have a hard error. If one of 
	your reads is successful then the original read that 
	failed is flagged as a soft error.
	
	It also reports whether or not disk disk is write 
	protected. If it is listed as 'Read Only' then your write 
	protection tab is set.  If it is listed as 'Read/Write' 
	then it can be written to as well as read. The RAM: disk 
	cannot be protected from reading or writing, but the 
	files you put in there can be protected from deletion 
	with the use of the PROTECT command.
	
	
	KEYWORDS
	
	NAME
	This keyword lets you get the information of one 
	particular device without getting all the info for 
	everything else.
	
	
	EXAMPLES
	
	1. To show the information regarding the disk volumes 
	known to the filing system:
	
	INFO
	
	2. To print out the information regarding the disk 
	volumes known to the filing system:
	
	INFO > PRT:
	
	3. To show only the information pertaining to df1:
	
	INFO df1:
@Install(V1.3, 2.x, 3.x in C:)
	
	
	
	NAME
	Install - Do the magic which makes a disk bootable.
	
	SYNOPSIS
	Install Drive NOBOOT CHECK
	
	DESCRIPTION
	This command should be used on all formatted floppy 
	disks that you might wish to startup the system with.  
	
	INSTALL adds the minimum amount of information to 
	make that disk bootable. If a blank disk is INSTALLed it 
	will bring up the AmigaDOS prompt, but that's it. To 
	invoke any AmigaDOS commands the entire path to that file 
	must be included.
	
	If you boot with the INSTALLed disk, it becomes the 
	Sys: directory.
	
	If you use INSTALL on a non-Amiga formatted disk, or 
	one with a custom boot-block, you will probably destroy 
	that disk. So, be careful how you use this command.
	
	The drive specified may be one of DF0:, DF1:, DF2: or 
	DF3:.
	
	OPTIONS
	CHECK
	This option checks to see if a disk is bootable, and 
	if standard bootblock code is installed on the disk.  For 
	use in script files, if the disk is bootable and contains 
	standard bootblock code, the error code is set to zero, 
	otherwise, the error code is set to WARN.
	
	NOBOOT
	This option removes any bootblock from a DOS disk, 
	and may also be used to make a non-DOS diskette readable 
	as a DOS diskette. This can be used to get rid of 
	unwanted information (aka Virus's) that may be hanging 
	out on your diskette.
	
	FFS
	The disk will usually be given the boot block 
	associated with that particular file system (OFS- Old 
	File System for 1.3 or FFS- Fast File System for 
	2.x/3.x). This will force your system to install an FFS 
	disk in Workbenches under 2.1. After and including 2.1 
	you are unable to force an FFS disk on an OFS only 
	system.
	
	
	SINGLE DISK DRIVE WARNING!!!
	
	If you're not careful with your this program you can 
	ruin your Workbench disk. Here's how to INSTALL a disk on 
	a single drive system.
	
	You will not be prompted to enter the disk after you 
	type INSTALL. So, this makes using INSTALL on single disk 
	systems very dangerous. Normally, your C: directory will 
	be assigned to the Sys: disk in df0:. So, if you insert 
	the Workbench disk in df0: then type INSTALL ?, you will 
	then get a command template that looks like this: 
	DRIVE/A. Now, eject your Workbench disk then put in the 
	one you wish to install and  then type DF0: after the 
	template then return. Now, the disk you wanted to install 
	will be installed. 
	
	
	EXAMPLES
	
	1. To install a boot file on the disk in df2:
	
	INSTALL DRIVE df2:
@IPREFS (ONLY in 2.x/3.x) (located in C: directory)
	
	
	NAME
	
	IPREFS - Managages the Preferences scheme in 2.x/3.x.
	
	SYNOPSIS
	
	IPREFS [QUIT]
	
	DESCRIPTION
	
	This command will read all the preference settings in 
	the ENV:Sys directory and puts those settings into 
	effect. IPREFS hangs out in memory and looks out for 
	changes made to the preference settings.
	
	For IPREFS updating functions to work you must have 
	all the windows of any process running closed that have 
	opened up on the Workbench. You willknow if you have 
	something open when you try to reset a Preference setting 
	and get a message saying: 'Intuition is attempting to 
	reset the Workbench screen. Please close all windows 
	except drawers.' If you get this during bootup then you 
	probably entered a command in the startup-sequence before 
	IPREFS was run. This is a good reason why you should not 
	alter your startup-sequence and make any extra programs 
	run from your user-startup script. But, if you absolutly 
	must enter a command before IPREFS, then run its output 
	to NIL:. So, to run 'NeatProgram Keywords Arguments'	
	before IPREFS, then you should enter it as 'NeatProgram 
	>NIL: Keywords Arguments'.
	
	KEYWORDS
	
	QUIT
	Under 2.x only: This lets you quit IPREFS while  
	keeping all the Prefrences intact. This keeps anything 
	from changing the preferences as they are updated. This 
	was removed under 3.x.
	
	NOTE: IPREFS is started during system startup. If you 
	try to run it again you will get an error message saying 
	that you already have it runnig and that you can't run it 
	again.
@Join(V1.3, 2.x, 3.x in C:)
	
	
	
	NAME
	Join - Combines (joins) many files into one larger 
	file.
	
	SYNOPSIS
	Join name1 name2.... AS or TO destname
	
	DESCRIPTION
	This program combines several files into one larger 
	file, which may also be a device such as a printer or 
	modem.  It accepts wildcards as its arguments. Wildcards 
	are only supported under 2.x/3.x. 1.3 MUST have more than 
	one name.
	
	This command will alphabetize the wildcarded 
	filenames before using them. If you specify only one 
	name, then a simple Copy will result. Any number of files 
	may be specified in the command line, and each one may be 
	a wildcard specification.
	
	KEYWORDS
	name1 name2...
	These are the files you will combine. Under 1.3 you 
	must place at least two names here, with a space between 
	each name (up to 15). 
	
	
	AS or TO
	This is the name of the new file into which the 
	contents of the other files are placed. This can be a new 
	file or an old file, but it can't be any of the files 
	which precede the AS or TO keyword. 
	
	ADDITIONAL CONSIDERATIONS
	You may prefer to use TYPE for joining files rath 
	than JOIN.  JOIN is included for backward's compatibility 
	with batch scripts. The one advantage of Join is that it 
	runs a bit faster than TYPE concatenating large files.
	
	EXAMPLE
	
	1. To combine the three files File1 File2 and File3 
	into one large file named FILES1-3.  Note that the 
	original files are unharmed.
	
	Join File1 File2 File3 AS FILES1-3
@Lab(V1.3 in C:) (2.x, 3.x in C:)
	
	
	
	NAME
	Lab - Define a label for Skip.
	
	SYNOPSIS
	Lab label_name
	
	DESCRIPTION
	Lab is used to define a label for use with skip.  Lab 
	by itself defines a null label. Note that if an EndSkip 
	is encountered by Skip before the Label Skip is searching 
	for is found, the search will be aborted at that point.
	
	
	EXAMPLE
	
	1. In this example, only "But this will" will display 
	on the CLI. Just type this script out and run it to see 
	exactly how it works:
	
	Skip DODAH
	Echo "This will not display"
	Lab DODAH
	Echo "But this will"
	
	SEE ALSO
	Skip EndSkip
	
	CAUTION
	With the V1.3 version of SKIP, you should NOT
	indent a LAB statement or that label will not be found.
@List(V1.3, 2.x, 3.x in C:)
	
	
	
	NAME
	List - List contents of a directory.
	
	SYNOPSIS
	List listname Dir P=PAT/k KEYS/s DATES/s NODATES/s SUB/k
	SINCE/k SORT/s TO/k UPTO/k QUICK/s BLOCK=BLOCKS/s
	NOHEAD/s FILES/s DIRS/s LFORMAT/k
	
	DESCRIPTION
	List displays the contents of a given directory.  By 
	contents, we mean the names of the subordinate files and 
	directories, not the file data.  Typing the List command 
	by itself with no parameters generates a listing of the 
	current directory. It also lists any comments attached by 
	a FILENOTE command.
	
	THE LISTING DISPLAY
	List displays your files and directories one per 
	line, with all the protection flags currently turned on 
	right next to the filename.  The fields which may appear 
	in a Listed file are
	
	name [KEY] size/type protection date time
	:comment
	
	Methods are provided for getting a selective listing 
	of files, as well as suppressing/adding most of the above 
	display elements.  
	
	A description of each one of the above elements is 
	given below:
	
	Name 
	The name of the file or directory. This can be a 
	device or volume name. AmigaDOS wildcards are supported 
	100%.  The inclusion of wildcards eliminates the need for 
	the P (or PAT) keyword. PAT is retained to keep 
	compatiblility with older versions of AmigaDOS.
	
	KEY
	This is the actual block number of the file or 
	directory block header.  This is not displayed by 
	default, you must use the KEYS switch to generate this 
	element of the listing.
	
	size/type
	This element gives the size of the file in bytes, or 
	the string "empty" if the file is empty. If this is a 
	directory and not a file, then the directory indicator 
	("Dir") will appear here.
	
	protection
	The protection bits of the current file, in the order 
	hsparwed.  If any of these is disabled, a dash (-) will 
	appear in its place. The protection bits stand for 
	"hidden, script, pure, archived, read, write, execute and 
	delete", respectively.
	
	date time
	The date and time of the last modification to the 
	file or directory.  The format of the date display is 
	determined by the value of the environment variable 
	dateformat.  These elements of the listing appear by 
	default, but may be selectively added or subtracted by 
	using the DATES or NODATES keywords.
	
	comment
	The comment as set by Filenote.  If no comment 
	exists, this field will not be displayed.  Note that it 
	is displayed on a line by itself, preceded by a colon.
	
	
	SELECTIVE LISTING OF FILES
	The methods described in this section allow you to 
	list a portion of the files and directories on your 
	disks. Ways exist to generate a list of files that 
	conform to a certain pattern, or that were 
	created/modified before or after a certain date.  You may 
	also combine these options, for example, you may get a 
	list of all files which end in .c and were created or 
	modified since a certain date. These options are 
	described below:
	
	Dir  
	List this directory instead of the current directory.  
	This parameter may be a filename, in which case the 
	single file is shown.  You may also use any legal 
	AmigaDos pattern in this position, in which case the 
	files and directories listed will be those which match 
	the pattern, if any.  (This feature was added to the BCPL 
	List in the V1.3 enhancer.)
	
	PAT 
	List only files and directories which match the 
	pattern. You must specify the keyword PAT or its 
	abbreviation P.  This is no longer truly necessary with 
	the expanded capabilities of AmigaDOS wildcards, since it 
	is usually more convenient to simply include the pattern 
	in the directory specification as described above.  It is 
	included for BCPL compatibility.
	
	SUB  
	In this option the SUB keyword must come before the 
	string. If spaces are in the string, it must be enclosed 
	in quotes. With the inclusion of AmigaDOS wildcards, this 
	keyword is really not needed. It searches for an 
	occurence of the substring anywhere within the directory 
	name or filename.  Think of this as a short form of "List 
	PAT *substring*" or a long form of "List *substring*".  
	List will reject any attempts to combine the use of PAT 
	and S.  Wildcards in the initial DIR argument are matched 
	and then checked again to match against the substring.
	
	SINCE
	While the pattern matching options above filter files 
	and directories on the basis of their names, this option, 
	and the following UPTO option, filter out files based on 
	their last modification date. SINCE displays only files 
	which have been created or modified on or later than the 
	specified date.  All older files are not displayed.  You 
	may specify the date in the currently defined dateformat 
	(see Environment Variables) or you may use a word such as 
	SUNDAY, TODAY, YESTERDAY, etc.
	
	UPTO 
	The inverse of SINCE, this option displays only files 
	and directories which have been modified or created on or 
	before the specified date.  Files younger than this date 
	are not displayed. See SINCE for a description of the 
	date format list expects.
	
	FILES
	Display only files, and not the directories.
	
	DIRS
	Display only directories, and not the files.
	
	CONTROLLING THE DISPLAY
	The options below allow you to alter the format of 
	the display listing, or to send it to another file or 
	output display device (that's usually a printer).
	
	TO   
	You can specify a file or a device you wish the 
	listing to be sent to using this keyword.  If not 
	specified, the default of the current screen will be 
	used. If the file already exists then the old file will 
	be replaced (and gone forever) while being replaced with 
	this new file. If the protection bit is set on the old 
	file LIST will not work. It is very useful to LIST TO 
	prt: to get a hard copy of your disk listing.
	
	DATES
	Forces the date and time of creation to be displayed 
	in the current dateformat. This keyword does not have to 
	be used unless you are using the QUICK or NODATES 
	keywords. 
	
	NODATES
	Will not display time and date information, only the 
	filename, size, protection and comment fields will be 
	displayed. Using DATES with this will force the creation 
	dates and times to display.
	
	QUICK
	Displays only the filename field, one filename per 
	line, with no trailing spaces. You can LIST just the 
	files or direcotries by using the FILES or DIR options.  
	You can combine this with other options such as DATES and 
	KEYS to selectively enable these fields.  Under 2.x/3.x 
	KEYS no longer works with this keyword.
	
	KEYS 
	Displays the block number of each file header or 
	directory header. All files are assigned using block 
	numbers. This is how AmigaDOS keeps track of your files.  
	Each file has a unique block number assigned to it.  This 
	is its address on the disk. The block number appears to 
	the left of the file length.
	
	SORT 
	Sorts the file and directory names into ascending 
	alphabetical order.  Case is disregarded. Note that this 
	is an option available only with the ARP list.  Sorts by 
	DATE if you include the DATES keyword.
	
	BLOCK=BLOCKS
	Displays filesizes in blocks, rather than bytes.
	
	NOHEAD
	Suppresses the default "Directory..." header and the 
	"x files -x directories -x blocks used" footer display.
	
	LFORMAT
	LFORMAT can be used to control the output of list, 
	and especially to generate command lines to be fed to the 
	shell. LFORMAT can is most useful when you want to 
	generate a script file. To send the LIST output to a 
	script file, you can either redirect LIST's output using 
	the ">" or "TO" keywords. LFORMAT takes a string as an 
	argument which can be any ascii string.  
	
	The LFORMAT substring can be used multiple times. 
	This allows you to use the listing name more than once 
	per line. The second time you use the string the first 
	relative path will be replaced by %S, and the path of the 
	second argument will be used (BTW, a relative path is 
	merely the list of directories you must traverse to get 
	from the specified directory to the current one.) If you 
	use three substrings, then the first will be replaced by 
	the relative path, while the second and third will be the 
	file or subdirectory names. If you use it four times, the 
	first and third will be the relative paths, and the 
	second and fourth will be the subdirectory or file names.
	
	To include the output of List in this string, you can 
	use the "%S" sequence under 1.3 or 2.x/3.x as follows:
	
	"%S"       Filename
	"%S%S"     Pathname/Filename
	"%S%S%S"   Pathname/FilenamePathname
	"%S%S%S%S" Pathname/FilenamePathname/Filename
	
	The following information may be substituted for the 
	string as output and is for 2.x/3.x Only:
	
	%A   :Attributes (protection flags)
	%B	 :Size of file in blocks
	%C	 :Comments attached to the file
	%D	 :Date of file creation or last update
	%F	 :The complete absolute path (starting with the 
	volume name)
	%K	 :Key block number
	%L	 :Length of the file in bytes
	%N	 :Name of the file
	%P	 :The relative path(starting at the current directory)
	%T	 :Time of creation or last update
	
	The following information may be substituted for the 
	string as output and is for 2.1/3.x Only:
	
	%E	 :Extension only (the part of the filename after the
	last period)
	%M	 :Filename minus the extension (everything up to
	the last period)
	ALL  :Lists the contents of all the subdirectories of the
	specified directory, as well as the directory itself.
	
	The %S's may be separated by spaces, other ascii text 
	or nothing, as above.  Here is an example of LFORMAT that 
	will create a script to Type each file:
	
	List LFORMAT="Type %S%S"
	
	Of course, to use this, you must save it in a file 
	using TO or one of the IO Redirection operators ('>', 
	'>>').  If you are using 2.x/3.x, you can also pipe the 
	output of List directly into the Execute command.  
	
	ENVIRONMENT VARIABLES
	The List uses the same dateformat variable as used by 
	the Date command, and in essentially the same way.  If it 
	is not defined, or if it has an illegal value, the 
	default AmigaDOS display and input is used.  Otherwise, 
	the display and the input of dates is determined as 
	follows:
	
	0    AmigaDOS format DD-MMM-YY.
	
	1    International format YY-MM-DD.
	
	2    U.S. format MM-DD-YY.
	
	3    Canada DD-MM-YY
	
	If you prefix the above numbers with a dash, then the 
	display of names like TODAY, MONDAY, FUTURE, etc., will 
	be disabled and the format string as defined above will 
	be used exclusively. Note that this governs the format 
	that List expects as input as well as the format List 
	uses for display.
	
	EXAMPLES
	
	1. To display all files in df1: ending with the 
	characters "#?.c" which were modified later than TUESDAY 
	at 00:00 hours.
	
	List df1:#?.c SINCE WEDNESDAY
	
	2. To output just the names and dates for items in 
	the current directory beginning with the letters 'stuff' 
	that were created or last updated on or before April 16, 
	1967. Sent the output out to a file called 'StuffOut' in 
	the Ram:T directory.
	
	LIST stuff#? QUICK DATES UPTO 16-Nov-67 TO Ram:T/StuffOut
	
	
	3. To list the information about the contents of the 
	current CLI directory.
	
	LIST
	
	
	4. To print the block number of all the files in the 
	current directory.
	
	LIST KEYS to PRT:
	
	or
	
	LIST > PRT: KEYS
	
	
	5. To display the information about the files in the 
	directory art/adult whose names contain the string 
	'girls'
	
	LIST art/adult/#?girls#?
	
	(note: Information about both 'Really Ugly Girls' and 
	PrettyGirls would be displayed)
	
	
	6. To set the pure bit of every file in the stuff: 
	directory.
	
	LIST >RAM:ThisFile stuff:#? LFORMAT "protect %S +p"
	
	(now you have a file called Ram:ThisFile which contains
	the commands to set the PROTECT bit on all the files in the
	stuff: directory. Now, just EXECUTE RAM:ThisFile
@LoadLib(V1.3 only)
	
	
	
	NAME
	LoadLib -- Explicitly load an Amiga library.
	
	SYNOPSIS
	LoadLib dev:dir/library-name
	
	DESCRIPTION
	
	THIS COMMAND IS NOT NEEDED BY 2.x/3.x. 
	
	UNDER 1.3 ONLY: This is a new command which is 
	occasionally very useful.  If you should happen to boot 
	from a disk that does not have arp.library in its libs 
	directory you will not be able to use the ARP commands 
	directly.  This is an unusual situation, but it can 
	happen.  LoadLib presents the solution to this problem by 
	allowing you to load the library directly from whatever 
	directory you want.  After a successful LoadLib of 
	arp.library, you may use any ARP command you like.
	
	Note that you are not confined to loading 
	arp.library, any diskloadable library may be brought into 
	memory in this way, this can help a lot when your 
	bootdisk gets too crowded.
	
	EXAMPLE
	1. To boot from a disk without arp.library on it, and 
	then insert your boot disk in drive 1, then type:
	
	LoadLib df1:libs/arp.library
	
	This will allow you to execute any ARP command.  Note 
	that LoadLib cannot use arp.library, and therefore it is 
	missing some features, such as the advanced argument 
	parsing, that most ARP supplied commands have.
	
	OTHER
	This command was donated to ARP by William Hawes. The 
	founder of AREXX.
@LoadResource (3.1 only) 
	NAME
	
	LoadResource - Locks and loads a resouce to memory.
	
	
	
	SYNOPSIS
	
	LoadResource [NAME] [LOCK] [UNLOCK]
	
	
	
	DESCRIPTION
	
	LoadResource is used to pre-load a certain resource 
	(library, device etc.) to memory before it is actually 
	used. 
	
	This may be used to reduce loading time of these 
	resources. But, this reduced loading time is not without
	a price. That resource you load will continue to take up
	memory until the next reboot or a "LoadResource <name>
	UNLOCK" followed by a FlushLibs (either via WB menu if
	you loaded WB with -DEBUG option or via the command
	"avail flush").
	
	
	
	KEYWORDS
	
	NAME
	Name of the resource to load.
	
	LOCK
	Loads the resource from the disk and lock it in
	memory so it can't be expunged by a FlushLibs-Call.
	
	UNLOCK
	Search the given resource in memory and unlock it,
	it may then be expunged.
	
	
	
	EXAMPLES
	
	1. To load the ReqTool.library from the libs: directory
	and protect it against FlushLibs-Calls.
	
	
	LoadResource ReqTools.library LOCK        
@LoadWB (V1.3, 2.X, 3.X in C:)
	
	
	
	NAME
	LoadWb -- To start the the WorkBench.
	
	SYNOPSIS
	1.x:
	LoadWB DELAY -DEBUG          
	
	2.x/3.X:
	LoadWB DELAY -DEBUG CLEANUP NEWPATH
	
	DESCRIPTION
	
	Normally it is found in your statup-sequence so that 
	your Workbench will be loaded when you start your Amiga. 
	The Workbench will set and keep track of all search paths 
	in effect as well as set the paths for each CLI or Shell 
	started from a Workbench icon.
	
	Under 1.x the Workbench will reinitialize whenever 
	you issue the LoadWB command. Under 2.x/3.x the Workbench 
	is reinit- ialized after selecting 'Update All' from the 
	Workbench menu. If you run LoadWB after it was already 
	loaded under 2.x/3.x then you will get an error message 
	saying that the Workbench is already loaded.		  
	
	KEYWORDS
	
	DELAY
	This makes a three second pause before the program is 
	loaded.  This lets all the disk activity to stop before 
	going onto the next program in your startup-sequence to 
	start. If there is not a pause, then both commands will 
	try to access the floppy disk, this causes your floppy 
	drive to make a thrashing noise and slows down you disk 
	access tremendously.
	
	
	-DEBUG
	This adds a brand new menu item to your Workbench bar 
	which is not normally displayed. There are two items on 
	this menu.  Debug (called ROMWack on 2.x/3.x) and 
	Flushlibs. Debug (ROMWack) loads the ROMWACK debugger. 
	This is a developer's tool which communicates to your 
	Amiga via a 9600-baud terminal connection to the serial 
	port. If this terminal is not connected, your Amiga will 
	appear to lock up, since nothing will work until the 
	remote terminal sends commands. Flushlibs lets the 
	Workbench flush out all the libraries from memory that 
	are not in use.  This frees up a good deal of resources. 
	This is useful for the programmer to check if his program 
	exited cleanly and freed all memory that they allocated.
	
	1.x ONLY: DELAY or -DEBUG may be used, but not at the 
	same time.
	
	
	CLEANUP
	2.x/3.x Only: This performs a 'CleanUp' of the 
	Workbench window, making all your icons all neat and 
	orderly. This may also be done via the Window/CleanUp 
	while having the Workbench screen activated.
	
	NEWPATH
	2.x/3.x Only: This lets you change the path that the 
	Workbench uses. The Workbench usually remembers the CLI 
	or Shell path that issued the LoadWB command. This path 
	is automatically assigned to any Shell or CLI started 
	from an icon. This path can be changed by using the 
	NEWPATH keyword. The Workbench will then use the path 
	associated with the Shell window from which the command 
	was issued.
	
	
	EXAMPLES
	
	1. Load the Workbench and close the CLI:
	
	LOADWB DELAY
	ENDCLI >NIL:
	
	2. Load the Workbench with the DEBUG menu activated:
	
	LOADWB -DEBUG
	
	3. Add the SYS:File directory to the path that the 
	Workbench assigns to new Shell windows opened from icon:
	
	PATH SYS:File ADD
	LOADWB NEWPATH
@LOCK (1.X, 2.X, 3.X located in C:)
	
	
	
	NAME
	LOCK - Enables or disables the write protection of a 
	harddrive partition formatted under the Fast File System 
	(FFS).
	
	SYNOPSIS
	LOCK drive ON/OFF PASSWORD
	
	DESCRIPTION
	1.x only lets you enable or disable the write 
	protection of a FFS. 2.x/3.x it also enables or disables 
	the write protection of every kind of disk including 
	floppies. The drive is unlocked only when another LOCK 
	command is sent or reboot the computer.
	
	KEYWORDS
	
	DRIVE
	The name of the disk or partition. For 1.x, it can 
	only be a hard drive formatted with the FFS. 2.x/3.x lets 
	you LOCK floppy disks too. LOCK works a little 
	differently on floppies than other commands.  Normally, 
	when a command is set onto a floppy drive (eg. df0:) it 
	will only effect that particular disk. But, with LOCK, it 
	effects any and every disk inserted into the drive.
	
	ON/OFF
	This keyword lets you protect the disk (LOCK ON) or 
	write enable (LOCK OFF). The default is for the disk to 
	be write enabled.
	
	PASSWORD
	Under 1.2, this password had to be four characters 
	long. On Operating Systems 1.3 and above it can be of any 
	length.The password is considered to be a text string. 
	Therefor, if there are spaces in it, it must be enclosed 
	in quotes. If a a password was included in the LOCK ON 
	command, the same password keyword must be used in the 
	LOCK OFF command for the disk to be write enabled.
	
	
	EXAMPLES
	1.To protect harddrive partition Dh1: with a password 
	of saturn:
	
	LOCK DH1: ON saturn
	
	
	2. To turn off the same:
	
	LOCK DH1: OFF saturn
	
	or
	
	LOCK DH1: saturn
@MAGTAPE (2.x/3.x Only) (Located in C:)
	
	
	NAME
	MAGTAPE [DEVICE devicename] [UNIT unitname] [RET or
	RETENSION] [REW or REWIND] [SKIP numfiles]
	
	SYNOPSIS
	MAGTAPE was added in 2.x to specifically control the 
	A3070 tape backup unit. Computer tape drives are 
	sequential. In other words, All computer tape drives, 
	like video or audio tapes, must be manually "fast 
	forward" or "rewind" to get to a particular file. 
	Random-access devices such as floppy drives, harddrives, 
	CDRoms, etc directly acess the information.
	
	KEYWORDS
	DEVICE devicename
	The devicename of unit to manipulate.
	
	UNIT unitname
	By default, MAGTAPE accesses SCSI unit four and
	utilizes the Commodore scsi.device. This is used because
	it is the factory defaults of the A3070. To change the
	SCSI unit number of the tape drive, or use a controlling
	device other than the scsi.device, you must specify both
	the device name of the SCSI controller (eg gvpscsi.device)
	as well as the unit number of the tape drive using both the
	DEVICE and UNIT keywords. There are usually dip switches
	in your unit that can be changed to correspond to any unit
	number you like. If you are unsure of the SCSI device driver
	your unit uses, then you should call the manufacturer. All
	SCSI drivers end in the extension: .device.
	
	RET or RETENSION
	This re-tensions the tape by fast-forwarding to the end
	then rewinding it.
	
	REW or REWIND
	Runs the tape to the beginning.
	
	SKIP numfiles
	Unit will run forward past a given number of files. 
	The variable 'numfiles' tells how many files to skip.
	
	
	EXAMPLE
	
	1. To rewind a scsi tapedrive attached to a GVP 
	controller whose unit number is set to two:
	
	MAGTAPE DEVICE gvpscsi.device UNIT 2 REW
@MakeDir(V1.3, 2.x, 3.x in C:)
	
	
	
	NAME
	MakeDir - Create any number of directories.
	
	SYNOPSIS
	MakeDir Dir/...
	
	DESCRIPTION
	MakeDir creates a new directory with the name you 
	give.  There is no limit to the number of directories you 
	may create with this command.  The directories will be 
	created in the order in which you supply them.  Note that 
	you cannot duplicate directories at the same level of the 
	directory tree, nor can you create a subdirectory until 
	its parent directory has been created.
	
	MakeDir allows you to create multi-tiered filing 
	systems on the same disk volume. To delete the 
	directories, you will use the DELETE command.
	
	EXAMPLE
	1. To make a directory named Jim:
	
	makedir Jim
	
	2. To make a directory named Mailbag inside the Jim 
	directory and the directories Jan and Feb which will 
	reside in the Mailbag directory of Jim that you just 
	created with the first part of the template.
	
	makedir Jim/Mailbag Jim/MailBag/Jan Jim/MailBag/Feb
@MAKELINK (2.x and 3.x only) (located in C:)
	
	NAME
	MakeLink - Creates links which point to other files.
	
	SYNOPSIS
	MakeLink [FROM fromname] [TO toname] [HARD] [FORCE]
	
	DESCRIPTION
	When a program asks for a file, they will get the 
	file linked to instead of that file itself. These links 
	are handy whenever you have different programs who want 
	to reference the same file in several different 
	directories. Let's say you like to read your docs with 
	ppmore. Well, many icons are configured to use More, Much 
	More, Multiview, or any other text viewer. Well, to use 
	your favorite reader (ppmore) you can make links that 
	direct all other readers to access ppmore instead.
	
	The only problem with MakeLink is that you cannot 
	make a link accross a volumes. Your link must reside on 
	the same volume or partition.
	
	KEYWORDS
	
	FROM fromname
	The name of the link file to create. You only need to include
	the FROM keyword if you have the fromname and toname reversed.
	
	TO toname
	The name of the file which will be linked to. This must be on
	the same volume as fromname, and cannot be a directory name unless
	you use the FORCE option is used.
	
	HARD
	An optional keyword is used to indicate that the link and its
	target are on the same volume. A soft link is when the link is on
	a different volume. This is currently not supported.
	
	FORCE
	This is to create a directory link. This is where the link file
	will look for a particular directory instead of file. This is certain
	to cause confusion within your file system, especially if the target
	directory contains linked files. It will also cause havoc if you 
	create a link to the parent directory of a target of another link.
	Even though MakeLink keeps you from making certain kinds of confusing
	links, you should be extra cautious when FORCING a link.
	
	
	EXAMPLES
	
	1. To make a file run the program c:ppmore instead of 
	C:more or C:muchmore
	
	MAKELINK c:ppmore c:more
	MAKELINK c:ppmore c:muchmore
@Mount(V1.3, 2.x, 3.x in C:)
	
	
	
	NAME
	Mount - Make a new device known to AmigaDOS.
	
	SYNOPSIS
	1.3:
	MOUNT Dev [FROM filename] 
	
	
	2.x/3.x:
	MOUNT Devs [FROM filename]
	
	DESCRIPTION
	When AmigaDOS starts up, only a few devices are known 
	to it.  You can add new devices with the Mount command, 
	which are then used just like any standard device.  The 
	devices might be actual hardware units, or they might be 
	logical devices, such as a SPEAK: device, or a PIPE:  
	device, or a buffered serial device SER:, or even a 
	non-buffered serial device such as AUX:.  The Assign 
	command allows you to view or remove these added devices, 
	as well as the standard system devices.
	
	Before using this command to Mount the device, you 
	will need to create an entry for it in a file (this is 
	referred to as a MountList entry).  The details of doing 
	this vary from device to device, but there should be 
	documentation accompanying each device you intend to add 
	that describes exactly how to do this.  Ordinarily, you 
	will make this entry in the file called DEVS:Mountlist on 
	your system, but the FROM keyword gives you the option to 
	specify another file to obtain the mountlist entry from. 
	The 1.3 disk has a sample Mountlist file in the Devs: 
	directory. This will form a good example of how to 
	structure any mountlists you write.
	
	The size of the device is determined by the Surface, 
	LowCyl, HighCyl, and BlocksPerTrack entries. Merely 
	multiply these values together to get the available 
	storage. For example, if you had a device with a 
	Surface=2 (double sided), LowCyl= 0 and HighCyl=39 (40 
	tracks per side: 39 - 0 + 1), and with a 
	BlocksPerTrack=11 (11 sectors, each sector being 512 
	bytes) you would end up with a 440k drive (.5k X 2 X 11 X 
	40= 440K).
	
	For non-memory devices such as SPEAK:, AUX:, SER:, or 
	PIPE: the list simply shows where to find the handler. A 
	handler is a program similar to a device driver.
	
	The CLI commands FORMAT and DISKCOPY work with all 
	similar mounted devices. For instance, you can FORMAT or 
	DISKCOPY between two 3.5 inch drives and two 5.25 inch 
	drives, but not DISKCOPY between a 5.25-inch drive to a 
	3.5-inch drive.  If you try, you will get an "Object Not 
	Of Required Type" message.
	
	The MOUNT command looks for this Mountlist in the 
	DEVS: directory. This file is a text file that shares 
	some of the characteristics of the C programming 
	language. For instance, hexadecimal numbers must start 
	with the characters 0x. Semicolons must seperate multiple 
	descriptions on a line. Comments must appear like in all 
	AmigaDOS script comments, that is beginning with /* and 
	ending with */. The Mountlist must end with the pound 
	sign (ei #).
	
	2.X/3.X Only:
	
	There is a completely new and user-friendly way to 
	handle devices! There is a new drawer in your Workbench 
	called "DOSDrivers" inside your DEVS: directory. These 
	files are different from old mountlists in three ways: 1) 
	They don't end in a pound sign, 2) They contain only one 
	device name per file, and 3) the device name of the file 
	is not specified in the list. To mount the device, you 
	simply drag it into the DOSDrivers drawer and it will be 
	mounted automatically when the Workbench is loaded.  If 
	you don't want the mountlist loaded automatically at 
	startup, then simply place the mountlist in the 
	DOSDrivers drawer of the Storage directory.
	
	KEYWORDS FOUND IN THE MOUNT LIST
	Handler= 
	The name of the device handler file. Found in you l 
	or devs directory of your workbench.
	
	EHandler=
	2.x/3.x only: The name of the environment handler 
	file found in your prefs/env-arc directory of your 
	workbench.
	
	FileSystem= 
	The name of the file system file. Usually found in 
	your Devs or l directory of your Workbench.
	
	Device=  
	The name of your device driver file found in the Devs 
	drawer of your workbench. You can also specify a path to 
	another device location if you to locate the  driver in 
	another drawer.
	
	Priority= 
	The task priority of the process; 5 is typical of 
	handlers, 10 is typical of file systems.
	
	Unit= 
	The unit number of the device (ei 0 for df0: and 1 
	for df1:).
	
	Flags=  
	Flags setting for the OpenDevice call (usually 0).
	
	Surfaces= 
	Number of write surfaces.
	
	BlocksPerTrack:
	The number of disk blocks (eg sectors) per track (eg 
	cylinder).
	
	Reserved= 
	The number of blocks used for the boot block; 2 is 
	the standard here.
	
	PreAlloc= 
	The number of blocks reserved at the end of a 
	partition; used with a few IBM-style (yuk!) hard drives. 
	This is usually 0.
	
	Interleave=
	This value controls the AmigaDOS interleave, not the 
	physical hard drive interleave.
	
	LowCyl=
	Starting cylinder to use for this device.
	
	HighCyl= 
	Ending cylinder for this device. Total number of 
	cylinders= HighCyl - LowCyl +1. 
	
	StackSize=
	The amount of working memory to allocate to the 
	process.
	
	Buffers=
	Number of cache buffers to use with the device.
	
	BufMem Type=
	Type of memory to use for cache buffers. Values are 
	as follows: 
	0 or 1 = Any
	2 or 3 = CHIP
	4 or 5 = FAST
	
	Mount=
	If this value is positive, MOUNT loads the handler or 
	driver software as soon as the device is MOUNTed, rather 
	than the first time the device is accessed.  2.1/3.x 
	utilizes the word ACTIVE as a synonym for this keyword.
	
	MaxTransfer=
	The maximum number of blocks transfered at one time; 
	used with the Fast File System only.
	
	Mask= 
	Address mask that specifies the memory range that can 
	be used for DMA transfers; used only with the Fast File 
	System.
	
	GlobVec= 
	If the handler is written in BCPL, it needs a global 
	vecotr. A value of 0 sets up a private global vector; 
	anything else indicates that the handler is written in C 
	or assembly language, and no global vector is needed.  If 
	this keyword isn't used, the shared AmigaDOS global 
	vector is used.
	
	Startup=
	A string passed to the handler, device, or file 
	system on startup. This string is passed as a BPTR to a 
	BSTR.
	
	BootPri=
	The boot priority of a bootable device, expressed as 
	a number between -129 and 127. A value of -129 indicates 
	that the device is not bootable, as is appropriate for 
	use with the recoverable RAM disk if you don't want to 
	boot from that device on reset.
	
	DosType=
	Indicates the format of the file system used. If the 
	Fast File System is used, this value should be set to 
	0x444F5301 (DOS/1). Other types introduced in 2.1 include 
	0x444F5302 (DOS/2), an international version of the old 
	file system that allows mixed-case accented characters in 
	filenames, and 0x444F5303 (DOS/3), an international 
	version of the Fast File System.
	
	Baud=    
	Serial device speed (in bits per second).
	
	Control=  
	Serial device control parameters- word length, 
	parity, and stop bits (eg 8N1, 7E1).
	
	ForceLoad=
	A new 2.1 option. When this value is 0 (default), the 
	system will check the resource list to see if the file 
	system named in the entry has already been loaded. If it 
	has, the system will use that one, instead of loading a 
	new one.		
	
	
	Under 1.3 you can only MOUNT one device at a time 
	with one MOUNT command.
	
	The 2.x/3.x version of Mount allows you to mount any 
	number of devices with one Mount command, which can speed 
	up the startup-sequence somewhat.
	
	
	OPTIONS
	FROM
	This takes one argument, which should be a filename.  
	This filename will be used to obtain the Mountlist entry 
	for the device you are adding. If this keyword is not 
	used, the file DEVS:Mountlist will be used instead.
	
	
	MOUNT KEYWORDS
	
	DEV
	The actual AmigaDOS device name, such as DF2:, DH0:, 
	or SER:.  This refers to either a hardware device like a 
	disk drive or serial port, or a logical device such as a 
	RAD or harddrive partition. The keyword must be the same 
	as the label given in the Mountlist entry. The device 
	mounted should also be available to the system. 
	
	In 1.3 you can only specify one device per command. 
	Under 2.x/3.x you can specify multiple devices with one 
	command call. Wildcards may be used when specifying 
	multiple devices.
	
	FROM
	Lets you specify a file other than DEVS:Mounlist as 
	the place to look for the description of the device being 
	MOUNTed.
	
	EXAMPLE
	1. Assuming you have a mountlist for a device named 
	FRANKIE:
	
	Mount FRANKIE:
	
	CAUTIONS
	
	Please note the following two differences between the 
	V2.x/3.x Mount and the Commodore V1.3 Mount, which can 
	cause problems in some cases if you are not aware of the 
	differences.
	
	If you want to reboot from RAD: using the 2.x/3.x 
	Mount, you must insert an explicit "BOOTPRI = 0" 
	statement into the mountlist entry for RAD:, as compared 
	with the Commodore Mount which automatically will reboot 
	from RAD:.
	
	If you have a "MASK = nnnnn" statement in your 
	mountlist, MAKE SURE THE MASK VALUE IS AN EVEN NUMBER.  
	The 1.3 Mount automatically converts the mask value to an 
	even value, but the 2.x/3.x Mount will pass through an 
	odd value which can cause problems.  You will probably 
	only have a "MASK=nnnnnn" statement if you have memory 
	that cannot be accessed by a DMA device, such as with a 
	RONIN 68020 card.
@NewCLI(V1.3 in C:) (v 2x/3x internal)
	
	
	
	NAME
	NewCLI - Start a new interactive CLI on the system 
	display.
	
	SYNOPSIS
	1.3:
	NewCLI [AUX: or CON:hpos/vpos/width/height/windowtitle] 
	[From filename] [CLI] [STACK]
	
	2.x/3.x:
	NewCLI [AUX: or CON:hpos/vpos/width/height/windowtitle/options]
	[From filename]
	
	DESCRIPTION
	
	
	This window support the same gadgets of a regular 
	everyday Workbench window (that is a drag gadget, 
	back/front gadget, sizing and under 2.x/3.x a zoom and 
	close gadget). It can be started with this command as 
	well as by double-clicking on the Workbench icon 'CLI' 
	found in your Systems drawer. Once started, the CLI 
	becomes the active window on the Workbench. It immediatly 
	takes on current directory from which it was started 
	from.
	
	You can open as many CLI windows as your memory 
	allows under 2.x/3.x.  1.3 limits you to 20. Each window 
	will operate completely seperatly from anyother and will 
	be complete with its own environment.
	
	If you do not change the CLI attributes during CLI 
	startup, then it will be named 'New CLI' under 1.3 and 
	'AmigaShellj' in 2.x/3.x.  The task number of the CLI 
	will also be shown.
	
	Each and every CLI will have its own unique task 
	number, just as every application run on the Amiga will 
	be assigned its own task number. It will be numbered 
	according to how many programs are running at the time 
	you open it. For instance, if you have absolutly NO other 
	applications running it will be task number 1, if there 
	are two other applications running it will be task number 
	3, etc. 
	
	Unless you specify during the start of the CLI 
	process, each CLI will open at the top left corner of the 
	screen and extend 640 pixels accross and 100 pixels down 
	the screen. So, as you open each new CLI, it will cover 
	up the old one unless you manually drag it out of the 
	way.
	
	The advantage of being able to run multiple CLIs on 
	the Amiga is one of the many attributes that sets it 
	apart from other operating systems.  You can open as many 
	CLIs as you could ever use, with each running its own 
	application or holding information which you may need to 
	reference.  If you take a few minutes to master the CLI, 
	you will be able to run rings around anything that an IBM 
	compatible can spew out.
	
	
	KEYWORDS
	
	[AUX: or CON:hpos/vpos/width/height/windowtitle/options]
	[FROM filename]
	
	Using CON: lets you chose the size, postion, and the 
	name of the new CLI window. (NEWCON: was added under 1.3 
	which has advanced functions which may replace CON:) If 
	you want to change the size, postion, or name of the CLI, 
	the CON: (or NEWCON:) keyword must be used.
	
	-hpos:
	
	The horizontal position of the top left corner of 
	your CLI. It is defaulted to 0.
	
	-vpos: 
	
	The verticle postion of the top left corner of your 
	CLI. It is defaulted to 0.
	
	-width:
	-height:
	
	These two keywords have no defaults and must be 
	included for the CON: keyword to work. The CLI must be at 
	least 90x25 pixels, but has a maximum of 640x200 pixels. 
	You can also use the sizing gadget on your CLI to change 
	the window size at any time.
	
	-windowtitle:
	This one is completely optional. This lets you chose 
	the name of the CLI as shown in the titlebar. If you 
	don't enter a window title the title space will be blank. 
	Even though you don't have to supply a name, you must 
	include the last slash following the height keyword.
	
	-options: 
	
	2.x/3.x only. These options were added to make the 
	CLI more flexible.  You can add as many or as few options 
	as you desire:
	
	AUTO: The CLI opens immediatly only when the program 
	that started it requres it.
	
	CLOSE: This is on by default. This lets you add the 
	Close gadget in the top left corner of the CLI.
	
	BACKDROP: This lets forces the CLI to open up behind 
	all other windows and cannot be moved, resized, or 
	changed in any way except through using the zoom gadget.
	
	NOBORDER: There are no visible lines surrounding the 
	window. The zoom and size gadgets will still be there, 
	but if you zoom the window to full size, the CLI will 
	dominate your environment and the only way to make it 
	smaller is by closing it.
	
	NODRAG: The window will not let you drag it. The 
	position will remain in the same place always.
	
	NOSIZE: The zoom, close, and size gadgets will 
	disappear when the CLI is started. There will only be a 
	depth gadget.
	
	SCREENname: The CLI will open on a screen with the 
	name you give it.  For instance, if you use the 
	'SCREENveronica' option, the CLI will open up on the 
	public screen named 'veronica'. If 'veronica' does not 
	exist, then this option won't work.
	
	SIMPLE: Allows the text to fill up the CLI window 
	when expanded. This lets you see more information than 
	before. The default is on.
	
	SMART: When the CLI widow is expanded, this option 
	does not allow the old information to be seen. It is the 
	opposite of SIMPLE.
	
	WAIT: The CLI won't close when the program that 
	created it is closed.  To close the CLI using this 
	option, you must select the close gadget or use the 
	Ctrl-\ key combination.
	
	
	If you direct the output and input of a CLI to the 
	AUX: device if you desire.  By routing the commands 
	through AUX: you are actually sending commands out the 
	serial port. The AUX: CLI will not be able to cancel 
	requestors and only allow you to run text-based programs. 
	Sorry, no GUI here. Of course, you must mount the AUX: 
	device before you can utilize this.
	
	[FROM filename] 
	This lets you open a CLI with the specifications set 
	in a script file located in your s directory. Normally, 
	NewCLI uses the s:CLI-startup script.  But, you can write 
	any script and reference it with this keyword.
	
	Check out s:CLI-startup to get an idea how to set 
	this up.
	
	
	EXAMPLES
	
	1. To create a new CLI that uses the serial port for 
	input and output:
	
	NEWCLI AUX: 
	
	(remember: this only works if AUX: is mounted)
	
	
	
	2. To create a 150x150 CLI in the upper left corner 
	of your screen named 'Debox':
	
	NEWCLI CON://150/150/Debox
	
	3. To create the default CLI (that is, with the upper 
	left corner of a 200x100 window titled 'New CLI':
	
	NEWCLI
@NewShell (V1.3 Alias created during Shell-startup) 
	(2.x/3.x internal)
	
	
	
	NAME
	NewShell - Invoke a shell or CLI utilizing a NEWICON:
	console window.
	
	SYNOPSIS
	1.3:
	NewShell [AUX: or NEWCON:hpos/vpos/width/height/windowtitle]
	[From filename]
	
	2.x/3.x:
	NewShell [AUX: or NEWCON:hpos/vpos/width/height/windowtitle]
	[From filename]
	
	
	DESCRIPTION
	
	This opens an advanced CLI (called a SHELL) which 
	includes aliases, resident commands, and has the current 
	directory listed at the prompt instead of in the 
	titlebar.
	
	
	NEWCON: also must be mounted before for NEWSHELL to 
	work. This should also be in your startup-sequence. If 
	NEWCON: is not mounted, then the CON: device will be used 
	instead.The command used to mount it is:
	
	MOUNT NEWCON:
	
	2.x/3.x ONLY:
	
	The enhanced CLI is now internal in your operating 
	system, and using either NEWCLI or NEWSHELL to open a new 
	Shell window.
	
	
	1.x ONLY:
	Shell-Seg must be resident in order for this to work 
	under pre-2.x version of AmigaDos.  If it was not made 
	resident, then a CLI will be opened instead of a SHELL. 
	It should have been made resident in your 
	startup-sequence with this command:
	
	RESIDENT CLI L:Shell-Seg SYSTEM pure
	
	
	
	
	KEYWORDS
	
	AUX: or NEWCON:hpos/vpos/width/height/windowtitle/options
	
	This lets you pick the position, size, title, and 
	options for the new Shell window. The options keywords 
	will work only under 2.x/3.x.  The options are listed 
	here:
	
	AUTO: The CLI opens immediatly only when the program 
	that started it requres it.
	
	CLOSE: This is on by default. This lets you add the 
	Close gadget in the top left corner of the CLI.
	
	BACKDROP: This lets forces the CLI to open up behind 
	all other windows and cannot be moved, resized, or 
	changed in any way except through using the zoom gadget.
	
	NOBORDER: There are no visible lines surrounding the 
	window. The zoom and size gadgets will still be there, 
	but if you zoom the window to full size, the CLI will 
	dominate your environment and the only way to make it 
	smaller is by closing it.
	
	NODRAG: The window will not let you drag it. The 
	position will remain in the same place always.
	
	NOSIZE: The zoom, close, and size gadgets will 
	disappear when the CLI is started. There will only be a 
	depth gadget.
	
	SCREENname: The CLI will open on a screen with the 
	name you give it.  For instance, if you use the 
	'SCREENveronica' option, the CLI will open up on the 
	public screen named 'veronica'. If 'veronica' does not 
	exist, then this option won't work.
	
	SIMPLE: Allows the text to fill up the CLI window 
	when expanded. This lets you see more information than 
	before. The default is on.
	
	SMART: When the CLI widow is expanded, this option 
	does not allow the old information to be seen. It is the 
	opposite of SIMPLE.
	
	WAIT: The CLI won't close when the program that 
	created it is closed.  To close the CLI using this 
	option, you must select the close gadget or use the 
	Ctrl-\ key combination.
	
	
	FROM filename
	Lets you specify a script to be run when the Shell 
	opens. If you don't put this script in your s: directory 
	then the 'filename' keyword is used to tell NewSHELL to 
	find it. The default startup file is the s:Shell-Startup.
	
	
	EXAMPLES
	
	
	1. To create a 150x150 SHELL in the upper left corner 
	of your screen named 'Debox':
	
	NEWSHELL NEWCON://150/150/Debox
	
	2. To create the default CLI (that is, with the upper 
	left corner of a 200x100 window titled 'My Shell':
	
	NEWSHELL "NEWCON:////My Shell"
@Path(V1.3 in C:) (2.x/3.x internal)
	
	
	
	NAME
	Path - Set or display the CLI search path for 
	executable files.
	
	SYNOPSIS
	1.3:
	Path [SHOW] [ADD or RESET] Dir(S) [QUIET]
	
	2.X/3.X:
	Path [SHOW] [ADD or RESET OR REMOVE] Dir(S)
	[QUIET]
	
	DESCRIPTION
	The Path command lets you add directories to the 
	places AmigaDOS looks for executable programs.  By 
	default AmigaDOS looks in the current directory, and then 
	in the C: logical device (set by using Assign).  You can 
	add directories to search between these two points by 
	using Path.  Note that you can use wildcards when 
	specifying directories to search to Path.  If a wildcard 
	is specified, the first directory which matches the 
	wildcard pattern will be added. Any number of directories 
	can be added to the path with one command.
	
	This command may also be used to display the current
	search path.
	
	OPTIONS
	ADD 
	This option allows you to add directories to the 
	current path. Note that you do not need to use this 
	keyword, if you simply type directories as arguments, 
	this action is implied. The new directory will get 
	searched for after the other user-specified directories, 
	but before the C: directory.
	
	SHOW
	This displays the current path. The same behavior may 
	be obtained by simply using Path without any arguments.
	
	RESET
	This will replace the old path with the new path you 
	specify.  If you do not specify any directories to 
	search, the Path defaults to the current directory, and 
	then to C:.  It is not possible currently to remove these 
	two directories from the path. If more than one directory 
	is added, then each directory name is seperated by a 
	space.
	
	QUIET
	This prohibits displaying requestors for disks which 
	are not mounted when displaying the path with SHOW.  If 
	you use this switch, and the disks are not currently 
	mounted (i.e., in a disk drive) then only the volume name 
	will be displayed.
	
	REMOVE
	2.x/3.x only: this lets you delete one or more 
	directories from the search path. If more than one 
	directory is named then they must be seperated by spaces.
	
	EXAMPLES
	
	1) To add drives df1: and df2: to the searchpath:
	
	
	Path ADD df1: df2:
	
	
	2) To reset the path to search drives one and two:
	
	Path RESET df1: df2:
	
	
	3) To add the first directory found on DF1: that 
	begins with the letter b.
	
	Path ADD DF1:b#?
@Prompt(V1.3 in C:) (2.x/3.x internal)      
	
	
	NAME
	Prompt - changes the prompt for the CLI or Shell.
	
	SYNOPSIS
	Prompt "Prompt"
	
	DESCRIPTION
	Prompt sets a new prompt for the current CLI.  Prompt 
	with no argument resets the CLI prompt to the default, 
	which is just "> ".  Shells differ in their 
	interpretation of special characters for the prompt.  For 
	example, the Shell will accept the following characters 
	in its prompt string:
	
	%S            - expands to pathname of current directory
	%N            - expands to current task number.
	%R            -2.x/3.x Only: expands to the Return Code
	for the last program that was executed
	from that SHELL. 
	
	The CLI default prompt is n>, with 'n' being the task 
	number associated with the current task number of that 
	shell. For instance, the if no other applications are 
	running, and the shell is open, the prompt will be 1>. If 
	there are two other tasks running, the prompt will be 3>.
	
	If used with a SHELL instead of the CLI, PROMPT can 
	display the current directory as part of the command 
	prompt. If you look at your s/Shell-startup script file, 
	you will see how the PROMPT command changes the default 
	string to the task number of the SHELL, followed by a 
	period, then the current directory path, a 
	right-angle-bracket, then a space.
	
	
	KEYWORDS
	"Prompt"
	The string that replaces the active CLI's prompt. If 
	"Prompt" is left blank, then the prompt will be changed 
	to >. You can designate up to 59 characters for your 
	string.  If there are any spaces, then you must enclose 
	the entire string in quotation marks. You may also use 
	ANSI escape sequences to change the prompt color, or 
	italics.
	
	Here is a complete list of the ANSI escape 
	characters:
	
	ESC-[1m  Switches to BOLD characters.
	ESC-[2m  Switches character color to color 3.
	ESC-[3m  Switches Italics on.
	ESC-[4m  Switches Underline on.
	ESC-[7m  Switches Reverse video on.
	ESC-[8m  Switches background color off.
	ESC-[0m  Switches to normal characters.
	ESC-c    Switches to normal characters and clears
	the screen.
	
	** When using these ESC key combinations, don't type 
	'ESC', instead, press the 'Esc' key on your keyboard. You 
	will then see a reverse video bracket as your printed 
	character. After that reverse video character you can 
	type in the rest of the Escape sequence.
	
	** You may also use the keys "*e" (an asterix 
	followed by the letter 'e').  This will have the same 
	effect as using the ESC key. Actually, it is better 
	because some editors (such as CEd, Ed, and others) uses 
	the ESC key to enter the command mode.
	
	
	EXAMPLES
	
	1) To change the current prompt to 'Amiga!:'
	
	PROMPT Amiga!
	
	
	2) To change the current prompt to 'Mehedi Who?:'
	
	PROMPT "Mehedi Who?"
	
	
	3) To change the current prompt to 'Amiga Task n 
	Waiting' (where n is the current task number):
	
	PROMPT "Amiga Task %N Waiting "
	
	
	4) To change the current prompt to show the task 
	number and current directory in reverse text, seperated 
	by angle brackets:
	
	PROMPT "<esc>[7m%N>>%S><esc>[0m "
	
	
	5) To show the date and time with each prompt 
	(2.x/3.x only):
	
	PROMPT "'DATE*' > "
	
	This uses the apostrophe (back tick) character to 
	output the result of the DATE command to the prompt 
	string. The asterisk character is used as an escape to 
	indicate that the DATE command is to be executed each 
	time the prompt string is printed. If this escape 
	character is not used, the prompt string will always 
	print the same time and date. (see backtick for more
	information on this command).
	
	See Also: Asterix
@Protect(V1.3, 2.x/3.x in C:)
	
	
	
	NAME
	Protect - To set file(s) protection status.
	
	SYNOPSIS
	1.3:
	Protect [File] name [Flags] [s] [p] [a] [r]
	[w] [e] [d] [ADD or -] [SUB or -] 
	
	2.x/3.x:
	Protect [File] name [Flags] [s] [p] [a] [r] 
	[w] [e] [d] [ADD or -] [SUB or -] 
	[ALL] [QUIET]
	
	
	DESCRIPTION
	Protect is used to set the protection level of a file 
	or files.  You may set the protection level for multiple 
	files or directories at a time using wildcards. The flags 
	that you may set are:
	
	h  - hidden   file is protected from listing (not supported)
	a  - archive  file has been archived (set by backup programs)
	p  - pure     file may be made resident without fear
	s  - script   file is a script (supported by some shells)
	r  - read     file is readable (supported by some commands)
	w  - write    file is writable (supported by some commands)
	e  - execute  file is executable  (supported by some shells)
	d  - delete   file is deletable (system supported)
	
	Setting or adding a flag allows the associated 
	action.  Clearing or subtracting the flag disallows that 
	action.  You can specify a completely new set of flags 
	for a file by simply listing the flags you want to be 
	turned on for that file (or files).  If you omit a flag, 
	that flag will be cleared.  Protect with no flags 
	disallows all protections for the file(s) in question.
	
	You can also add or subtract flags to the current set 
	using the ADD and SUB keywords (see below) or by 
	preceding the flags with a '+' character or a '-' 
	character, respectively.
	
	To view the protection bits for a specific filename, 
	you use the List command. If a flag character is shown in 
	the LIST display then it is on. If the letter is not 
	displayed, that bit is off.  In that case, there will be 
	a dash (-) instead of a letter.
	
	The only setting which AmigaDOS acts upon are the 
	read and write (r and w) bits.
	
	
	
	
	OPTIONS
	
	FLAGS (s p a r w e d)
	These are the protection flags which can be turned 
	on/off with PROTECT. You don't have to include the FLAGS 
	keyword, just the letters. If a FLAG is turned on then 
	the operation associated with the flag may be carried 
	out. If no flags are specified then all the flags are 
	turned off. 
	
	NOTE: If the 'D' flag is set then the COPY command 
	will not work on that file. This is because the COPY 
	command actually deletes the old file and replaces it 
	with the new one.
	
	ADD or [+]
	The flags given are to be added to the current set 
	for the file(s) in question. Other than adding these 
	flags, the original protection bits of the file(s) will 
	be left unchanged.  Another way to obtain this behavior 
	is to use a '+' character as the first character of the 
	flags you wish to add.
	
	SUB or [-]
	The flags given are to be removed from the current 
	set for the file(s) in question.  Other than subtracting 
	these flags, the original protection bits of the file(s) 
	will not affected.  Another way to obtain this behavior 
	is use a '-' character as the first character of the 
	flags you wish to subtract.
	
	ALL
	2.x/3.x only:  Recursively descend directories, 
	performing the desired operation on each file and 
	directory for that branch of the directory tree.
	
	FILES
	When using wildcards or the ALL keyword, Protect will 
	change the protection bits for both files and 
	directories.  Using this keyword will cause protect to 
	only change the protection bits for Files. 1.3 does not 
	allow you to use wildcards.
	
	DIRS
	Like FILES, but changes the protection bits only for 
	directories.
	
	QUIET [Q]
	This causes Protect to do its work silently, without 
	displaying the files and/or directories it is operating 
	on.
	
	EXAMPLE
	
	1. To keep all files ending in .c from being deleted 
	by subtracting the d flag for these files.
	
	Protect #?.c -d
	
	
	2. To turn on the script and execute bits.  These 
	bits allow some shells to execute the scripts as though 
	they were programs.
	
	Protect #? +se
@Quit(V1.3 on C:) (2.x/3.x internal)             
	
	
	NAME
	Quit - Exit from a batch file with the given error 
	code.
	
	SYNOPSIS
	Quit returncode
	
	DESCRIPTION
	Quit forces an exit from the currently executing 
	batch file.  If given a numeric argument, it will return 
	this as it's own exit status.
	
	KEYWORDS
	
	returncode
	This is the return code reported when the script is 
	quited.  If it is above the FAILAT level, you will get 
	the message:
	
	QUIT failed returncode [returncode]
	
	The number specified is substitued for [returncode]. 
	If it is below the FAILAT level, or this level is not 
	specified, then no message is displayed on QUITing the 
	script.
	
	EXAMPLES
	
	To exit a command without an error code:
	
	QUIT
	
	
	To exit a command with an error code 12:
	
	QUIT 12
	
	
	
	*Note that 2.x/3.x contains this command as a 
	builtin.
@Read(V1.3 only)
	
	
	
	NAME
	Read - Read input and parse.
	
	SYNOPSIS
	Read Variables/...
	
	DESCRIPTION
	Read accepts input from its standard input.  It takes 
	as arguments a list of one or more environment variables 
	into which it will place the parsed input.
	
	Read chops the input up on whitespace and/or double 
	quotes, depending on the user's input, placing the first 
	argument in the first environment variable you supply, 
	the second in the second and so on.  The final 
	environment variable supplied gets the rest of the input 
	string. If only one variable is supplied, it gets all the 
	input.
	
	Read may be used to good effect in pipelines.
	
	EXAMPLE
	
	1. First will contain 'S', while last will contain 'D 
	B'.
	
	Read First Last
	S D B
	
	2. First will contain '"S D B"' while last will be 
	empty.
	
	Read First Last
	"S D B"
@Relabel(V1.3, 2.x, 3.x in C:)
	
	
	
	NAME
	Relabel - Change the name of a disk.
	
	SYNOPSIS
	Relabel [Drive] drive [Name] name
	
	DESCRIPTION
	You use Relabel to rename a disk. Volume names are 
	normally given during the FORMAT or DISCOPY. Do not 
	confuse the volume name with the device name (which is 
	df0 or dh0:). 
	
	KEYWORDS
	DRIVE drivename
	This is the device name which you want to change.  
	There is no default drive.  So, if you wish to relabel 
	any other drive, then be sure to enter the drive or else 
	it won't work.
	
	NAME name
	This is the name you are going to give. You can use 
	up to 30 characters. Be sure to use quotes if there are 
	any spaces in the name.
	
	EXAMPLE
	
	1. To change the name of the disk in df0: to 
	MyWorkbench:
	
	Relabel DF0: "MyWorkbench"  
@RemRad (v1.3, 2.x, 3.x in C:)
	
	NAME
	RemRad - Remove the recoverable RAM disk device.
	
	SYNOPSIS
	REMRAD unitnum [FORCE]
	
	DESCRIPTION
	If you wish to free up some ram: taken up by a RAD: 
	disk then use this command. By issuing this command you 
	are freeing  up the memory taken up by the RAD: device. 
	After you issue this command, then reboot the system the 
	RAD: is removed entirely.
	
	KEYWORDS
	
	unitnum
	2.x/3.x lets you make many RAD: devices with 
	different names by simply changing your mountlist in 2.0x 
	or your datatype icons under 2.1/3.x. You can selectively 
	remove just one of these with this keyword.
	
	FORCE
	This will force AmigaDOS to remove the RAD: device 
	despite whatever else is going on in the system. For 
	instance, if there is an assign attached to the RAD: then 
	it will be impossible to delete unless you remove the 
	assign or use the force KEYWORD.
	
	EXAMPLE
	
	1. To remove RAD: that currently has an assign to it:
	
	REMRAD FORCE
@Rename(V1.3, 2.x, 3.x in C:)
	
	
	NAME
	Rename - To rename or move files and directories.
	
	SYNOPSIS
	1.3:
	Rename [From] fromname [TO or AS] toname
	
	2.x/3.x:
	Rename [From] fromname [TO or AS] toname [QUIET]
	
	DESCRIPTION
	Rename is a complete replacement of Commodore's old 
	Move command.  Originally, Rename was a limited form of 
	the more advanced Move command.  The difference between 
	the two was that Move will also Rename files across 
	devices, while Rename cannot. Move also had a few 
	additional options which are quite pleasant.  It was 
	recommended that you delete this file and use Move, 
	defining an Alias if you have scripts which use Rename. 
	But, times have changed and Rename has become a much more 
	versitile program.
	
	Well, Commodore got rid of Move because Rename is 
	'better'.  Well, despite its advances, it still cannot 
	Rename accross devices or volumes.  You are only able to 
	move files from one directory to the next on the same 
	disk.  You are also able to use it to reorganize the 
	entire directory structure of your disk.
	
	KEYWORDS
	
	FROM fromname
	This is the file to rename. If this is the first 
	statement you don't need to use the keyword.  2.x/3.x 
	lets you utilize any wildcard pattern supported by 
	AmigaDOS.
	
	TO (AS) toname
	These commands are optional. This is the name of the 
	file you are renaming to. You can use either the TO or 
	the AS keyword to get the same effect. If the file you 
	are RENAMing to already exists then RENAME will fail.
	
	QUIET
	2.x/3.x only:
	Keeps the progress report from being shown on the 
	screen while renames are being made.
	
	
	EXAMPLES:
	
	1. To move a file "SomeThing" to a directory named
	"InHere/Now" without changing the file name:
	
	RENAME Something InHere/Now/Something
	
	or
	
	RENAME Something InHere/Now
	
	(note: This will also work with renaming entire
	directories as well.)
	
	
	2. To Rename a file called BigBlue to Commodore:
	
	RENAME BigBlue Commodore
	
	
	3. To move a file "Work Docs" to a directory called
	"Textra/Work" without changing the name:
	
	RENAME "Work Docs" ":Textra/Work/Work Docs"
	
@REQUESTCHOICE (3.x only, located in C:)
	
	NAME
	Requestchoice - Adds a decision requestor to an 
	AmigaDOS script file or AREXX script.
	
	SYNOPSIS
	Requestchoice titlebox bodytext buttontext(s) 
	[PUBSCREEN screenname]
	
	DESCRIPTION
	When the requestor window opens and lets the user 
	chose from one or more buttons. When a button is chosen, 
	the number of that button is returned.
	
	KEYWORDS
	
	titletext
	The text you want in the title bar of the window. It 
	is a good idea to have this title bar mention where the 
	window was launched from so that the user won't get 
	confused. You must always include titletext. If you don't 
	want to have text in your titlebar, then use a blank text 
	string (""). 
	
	bodytext
	This is the main body text of the window. (for 
	example "Do you wish to continue?"). This string is also 
	required.
	
	buttontext(s)
	This assigns the words to the button choices. You 
	must have atleast one button. Extra buttons may be added 
	by just tacking on extra text screens. Every button is 
	assigned a number, when a button is chosen b the user, 
	the command returns this number to the console. If there 
	are text for many buttons, they will appear from left to 
	right. The button on the leftmost is number 1, the next 
	is number 2, and so on. The only exception is the last 
	button entered which is assigned the number of zero. This 
	is reserved for the "Cancel", "No", or "Quit" optons.
	
	[PUBSCREEN screenname]
	This lets you place your requestor on any public 
	screen by adding this keyword with the name of the 
	screen.
	
	
	EXAMPLES
	
	1. Print the number in the shell window the user 
	selects from the requestor:
	
	SET Number 'REQUESTCHOICE " " "Pick your number" 1 2 3 4 5 0'
	ECHO "You chose the number $Number"
	
	
	2. Ask the user to continue or quit:
	
	SET Continue 'REQUESTCHOICE Script "Continue???" Yes No'
	IF VAL $Continue EQ 0
	ECHO "You're outta here!"
	QUIT
	ENDIF
	ECHO "Next command??"
@REQUESTFILE (3.x only) (Location in C:)
	
	NAME
	Requestfile - To allow the use of the standard ASL 
	file requestor in an AmigaDos or AREXX script. The ASL 
	requestor is the interactive window that displays a list 
	of filenames and directories and lets the user chose one.
	
	SYNOPSIS
	REQUESTFILE [DRAWER DIR] [FILE filename] [PATTERN pat]
	[TITLE titletext] [POSITIVE postext]
	[NEGATIVE negtext] [ACCEPTPATTERN pat]
	[REJECTPATTERN pat] [SAVEMODE] [DRAWERSONLY]
	[MULTISELECT] [NOICONS] [PUBSCREEN screenname]
	
	
	DESCRIPTION
	After the user selects the file, the name of the file 
	chosen is returned, surrounded by double quotes.  If 
	multiple files are selected, each file is printed to the 
	console seperated by spaces and exits the file requestor 
	with a return code of zero. If 'CANCEL' or the close 
	gadget is chosen, the program ends with a return code of 
	5. The return code 5 can be detected if the "IF WARN" 
	statement is used. 
	
	KEYWORDS
	Even though there seems to be many of these, all of 
	them are optional. If you issue the REQUESTFILE command 
	without any keywords, a standard ASL requestor will open 
	up that any user can figure out.
	
	DRAWER dir
	The first directory listing will be the specified 
	'dir', and this path will appear in the drawer gadget of 
	the file requestor.
	
	FILE filename
	The 'filename' will be the selected default file. If 
	this file is not in the root directory, you must use the 
	DRAWER keyword to specify its directory.
	
	PATTERN pat
	This keyword causes only the files which match that 
	pattern you specify to show up. The user can, however, 
	enter any file he desires by simply entering the filename 
	or by changing the pattern. If you wish the user to not 
	be allowed to change the file pattern then use the 
	ACCEPTPATTERN keyword instead.
	
	TITLE titletext
	This allows you to enter the text string that will 
	appear in the title bar of the window. This should be 
	limited to 30 characters because anything text over 30 
	letters will be cut off by the edge of the requestor. It 
	is also a good idea for this text to hint the user on 
	what file he should select.
	
	POSITIVE postext
	This lets you change the button text on the leftmost 
	button. The function of that button always allows the 
	user to select that file. The default is labeled 'OK'. 
	For instance, let's say you wanted to load that file, you 
	could name that button 'Load'. Or, if you wanted to 
	delete that file you could name that button 'Delete'.
	
	NEGATIVE negtext
	This lets you change the text of the rightmost 
	button, which is defaultly named 'CANCEL'. You could 
	change the name to something more meaningful, such as 
	'Skip' or 'Abort'.
	
	ACCEPTPATTERN pat
	Allows you to limit the file display to those 
	filenames which match the pattern you specify. This 
	keyword does not give the user a chance to change the 
	pattern. If you want to leave the user that flexibility, 
	you should use the PATTERN keyword instead. For instance, 
	if you specify 'pat' as "#?.info", the user will only be 
	allowed to enter or select icons and only icons will be
	displayed.
	
	REJECTPATTERN pat
	This lets you exluce from the display all the files 
	that match the pattern you specify. This is the opposite 
	of ACCEPTPATTERN. Like ACCEPTPATTERN, there is no way for 
	the user to change the pattern.  For instance, if 'pat' 
	is "#?.info" then there is absolutly no chance for the 
	user to select an icon or for one to be displayed.
	
	SAVEMODE
	This is where the user is presented with a display 
	window that is black with grey letters instead of the 
	gray and black letters, and the multiselect option is 
	disabled.
	
	DRAWERSONLY
	Will not show any filenames, only the directory 
	names.
	
	MULTISELECT
	Lets the user select multiple files by holding down 
	the shift key and clicking on as many files as they want. 
	These files will be outputed to the console device, 
	seperated by spaces, when the 'OK' button is selected.
	
	NOICONS
	This will keep the icon files from showing up in the 
	file reqestor. This can also be accomplished by using the 
	"REJECTPATTERN #?.info" keyword statement.
	
	PUBSCREEN screenname
	This is where you can chose which screen you want the 
	requestor to show up on. 
	
	
	
	EXAMPLES:
	
	1. To have the user select a directory within a 
	script, and to store that directory in the local 
	environment variable dirname:
	
	
	UNSET dirname
	SET dirname 'REQUESTFILE DRAWERSONLY'
	IF "$dirname" EQ "*$dirname"
	ECHO "You didn't choose a directory name"
	ELSE
	ECHO "The directory you chose was $dirname"
	ENDIF
	UNSET dirname
	
	The Cancel button is tested for by checking for the 
	"$dirname" (which is replaced by the contents of the 
	environment variable) is equal to the literal string 
	"$dirname". The asterisk means that the IF command will 
	interpret the dollar sign as a dollar sign, not as the 
	contents of an environment variable. You could not use 
	the IF WARN test because you only get the return code 
	from the SET command, not the REQUESTFILE command this it 
	contains.
@RESIDENT (1.3 in C:) (2.x/3.x Internal)
	
	NAME
	Resident - Loads a program into memory and keeps it 
	resident there where it will be executed without having 
	to be loaded from disk each time.
	
	SYNOPSIS
	1.3:
	RESIDENT name filename [REMOVE] [ADD] [REPLACE] [PURE] 
	[SYSTEM]
	
	2.x/3.x:
	RESIDENT name filename [REMOVE] [ADD] [REPLACE] [PURE 
	or FORCE] [SYSTEM]
	
	
	DESCRIPTION
	Resident saves time by loading the command into 
	memory thereby allowing several Shell windows to execute 
	the same program code simultaneously, without having to 
	load another copy of the program for each shell.
	
	A command may only be made resident from 1.3 and 
	above. Also, only program files that have their PURE bit 
	set. Also resident commands must be able to be run many 
	times in a row without being reloaded or reinitialized. 
	It should also be able to be executed from different 
	Shells simultaneously without conflict. How do you know 
	if the file is able to be made resident? Check the Pure 
	bit. If the programmer who made the command followed 
	Commodore standards, it would be set to on. And, 9 times 
	out of 10 the docs will mention the fact.
	
	KEYWORDS
	name
	This is an optional resident name for the program. 
	For instance, you can chose to call the resident version 
	of Delete by the letter D. If you don't specify a name, 
	the filename is used as the resident name.
	
	filename
	The full path name to the file to be made resident.
	
	REMOVE
	This will remove the resident from the resident list. 
	This only succeeds if that command is not currently in 
	use. Under 2.x/3.x you can use this keyword to disable 
	any Internal commands (which may be re-enabled with the 
	REPLACE option).
	
	ADD
	REPLACE
	These keywords are completely optional since they 
	make very little differnece to the execution of the 
	program. If you don't add a filename with these 
	keywordsthen the command will list all the programs on 
	the resident list, just like if you used the command 
	RESIDENT. If you issue a filename with them then RESIDENT 
	will try to add that file to the resident list. If that 
	file already exists it will get replaced by the new 
	command. Under 2.x/3.x REPLACE will fail if the resident 
	name is not on the resident list and you are able to 
	re-enable an internal command that has been disabled with 
	the REMOVE option.
	
	PURE or FORCE
	These cause RESIDENT to force a prgram to be made 
	resident whether or not if the PURE bit is set.  If this 
	keyword is used, you will get a message saying that the 
	pure bit is not set. Data files cannot be made RESIDENT, 
	only executable programs can be. The FORCE keyword can be 
	used under 2.x/3.x and does the exact same thing as pure. 
	
	The use of this keyword can be extremely hazerdous to 
	your system. Don't be surprised if you FORCE a command to 
	be made resident that was not meant to be made resident 
	cause your machine to crash in a very big way. 
	
	SYSTEM
	This keyword will not allow the user to delete that 
	file from the resident list. The most common use of this 
	keyword is the way it enables the Shell windows to 
	replace the CLI under 1.3. The command that  makes the 
	Shell-Seg resident is:
	
	RESIDENT CLI L:Shell-Seg SYSTEM
	
	Under 1.3 this is used in the startup script. But, 
	2.x/3.x does not need it because the Shell is built into 
	the system ROMS.
	
	
	EXAMPLES:
	
	1. Make the Delete command resident, using the name D:
	
	RESIDENT D C:Delete
	
	
	2. To remove the DIR command from the resident list:
	
	RESIDENT dir REMOVE
	
	
	3. To display all the command residing on the resident
	list:
	
	RESIDENT SYSTEM
@Run (V1.3 in c:) (2.x/3.x internal)
	
	
	NAME
	Run - spawn a background shell or process.
	
	SYNOPSIS
	Run command+command+command+command....
	
	DESCRIPTION
	Run is used to startup a background shell.  Run 
	itself does no parsing of the command line, it passes it 
	unchanged to the background shell process, which means 
	that depending on the shell you have loaded, you can do 
	various interesting things with Run. 
	
	You can pass multiple commands to the background 
	shell by terminating each commandline with a '+' before 
	you hit return.
	
	To detach processes from the parent console window, 
	you can do Run >NIL:. This will allow you to close the 
	CLI window from which that task was launched.  Once RUN a 
	program is totally seperated from the Shell from which it 
	was RUN allowing you to use that Shell for other 
	purposes. If any errors occur, the background program 
	removes itself and disappears.
	
	
	After you RUN a program, the system shell will print 
	the message [CLI n] where n is the task number assigned 
	to the background task. 
	
	The system will always check the resident list before 
	looking in the system path for the command. 
	
	
	EXAMPLES
	
	1. Run Copy Thisfile OverHere+
	Echo "Copy complete!"
	
	The above line will cause the background shell to 
	first run the Copy command, and then the Echo command.
	
	
	2. RUN EXECUTE "RAM:T/ThisFile"
	
	The above line will cause the command sequence file 
	'ThisFile' in the Ram:T/ directory to execute in the 
	background by a single task.
	
	
	3. RUN DIR > PRT: OPT A
	
	This prints a directory and file listing of the 
	current drive on the printer. This will be operated in 
	the background so you will be able to continue entering 
	other commands into the Shell it was run from or to close 
	it.
	
	
	4. RUN >NIL: Calculator
	
	This starts the Calculator program. NIL: is used so 
	you can close the CLI or enter other commands into it 
	while the Calculator is running.
	
	
	5. RUN FORMAT DRIVE DF1: NAME EMPTY +
	INSTALL DF1: +
	ECHO "Format and Install Finished"
	
	This will Format and Install a disk in df1: and then 
	print a message saying "Format and Install Finished". 
@Search(V1.3)  
	
	
	NAME
	Search - Search a file or files for a name or pattern.
	
	SYNOPSIS
	1.3:
	Search [From name] [Search string] ALL [NONUM] [QUIET]
	[QUICK] [FILE] 
	
	2.x/3.x:
	Search [From name] [Search string] ALL [NONUM] [QUIET]
	[QUICK] [FILE] [PATTERN]
	
	DESCRIPTION
	Use Search to hunt for patterns or strings in files.  
	As usual, you can specify the files using a wildcard 
	pattern, and you can also specify a directory to be 
	searched.  Search also allows itself to be used in the 
	middle of a pipeline.  To do this, you must use the 
	filename STDIN, and it must be spelled in UPPER CASE.
	
	Under 2.x/3.x's Search also allows you to specify a 
	wildcard pattern as the search string, which the 1.3 
	version still does not.  Any valid AmigaDOS pattern may 
	be used as the search string.
	
	If a search object is found, then Search will return 
	0, otherwise it will return with the WARN faillevel set.  
	This makes Search usable in scripts (see also QUIET, 
	below).
	
	When searching through more than one file at a time, 
	you can use C-e or C-f (Control E or Control F) to 
	abandon the current file and move on to the next. (NOTE: 
	This is different from the Commodore BCPL search, which 
	uses C-d (Control d).  Using C-e and C-f prevents 
	conflicts with using C-d in script files, since C-d will 
	abort a script file.)  As usual, to kill the program, use 
	C-c (Control C).
	
	Search treats the carriage return character as the 
	end of the line. It also only searches the first 205 
	characters of a line, if there are more characters than 
	that then the you are warned with a 'LINE n truncated' (n 
	being the line number) and the search continuing.
	
	2.x/3.x's Search places the last pattern you used in 
	an environment variable called "Search".  If you reuse 
	Search at a later time, and omit the search string, 
	Search will use the value of this Environment variable. 
	This is convenient when searching for complex patterns 
	over and over again on different disks or directories.  
	This is also available to other programs to use if 
	desired.
	
	KEYWORDS
	ALL
	Recursively descend all directories in the specified 
	branch of the directory tree, searching each file for the 
	pattern specified.
	
	NONUM
	Do not display line numbers.  This option will also 
	kill the indent Search usually adds to the lines it 
	displays. Not used before 1.3.
	
	FROM name
	The file or directory to be searched. 'name' can also 
	be an AmigaDOS pattern if using 2.x/3.x. If this is the 
	first argument in your SEARCH, then this keyword is 
	optional.
	
	SEARCH or NAME string
	This is the string of text you will look for. If this 
	is your second argument then the keyword is optional. if 
	there are any spaces in your string, there must be quotes 
	around it. The string is not case sensitive, so if you 
	search for HIM then him, Him, HiM, or hIm, etc. Under 
	2.x/3.x you can use NAME instead of SEARCH and the exact 
	same result will occur.
	
	QUIET
	Search without displaying found lines.  This is 
	useful when you only want to get the return code from 
	Search (for example, in a script file).
	
	QUICK
	This causes Search to use a more compact output 
	format to speed up display.  NOTE - when using SEARCH 
	from an interactive CLI, this is the DEFAULT.
	
	FILE
	This causes Search to hunt for a file of the 
	specified name, rather than searching through the 
	contents of the files. Under 2.x/3.x the full path is 
	printed. This makes it extremely easy to find a 
	particular file on a large volume.
	
	CASE 
	This causes Search to consider case as important in 
	comparing search patterns. Ordinarily, case is ignored 
	during a search.
	
	PATTERN
	An optional keyword under 2.x/3.x only. It tells the 
	CLI that a pattern will be used during the search.
	
	
	EXAMPLES
	
	1.This command line demonstrates the use of wildcard
	patterns in both the FROM and the SEARCH string positions.
	This will cause Search to look at all files in
	SYS:INCLUDE/exec which end with the characters '#?.h', for
	all strings which begin with the three characters 'SIG',
	followed by any character, followed by an underscore,
	followed by anything:
	
	
	
	Search SYS:INCLUDE/exec/#?.h SIG?_#?
	
	
	
	2.To Search all the files in a directory called Westerns/TNT
	and all the files within its subdirectories for the phrase
	'speghetti westerns':
	
	
	Search Westerns/TNT "speghetti westerns' ALL 
	
	
	3.Look inside the file AmigaJokes for the work IrvingGould:
	
	
	Search AmigaJokes IrvingGould
	
	
	4.Search Quickly all the files which end in .txt in the 
	current dir for the phrase 'super model' and print them.
	
	
	Search > PRT: #?.txt "super models" QUICK
@Semicolon (;) (1.3/2.x/3.x internal)
	
	
	NAME
	; - Allows you to enter comments into an AmigaDOS 
	script.
	
	
	SYNOPSIS
	
	;All comments are here...
	
	
	DESCRIPTION
	The comments can be located anywhere inside the 
	script.  To be considered part of the comment then all 
	the words must be to the right of the semicolon.  
	Anything to the left of it will be read as a command. 
	
	The string may be up to 254 lines long (255 including 
	the ;).
	
	EXAMPLE
	
	This is a simple command sequence file using the ; 
	command. Everything to the right of the ; is considered a 
	comment and will not be acted upon.
	
	
	;Begin ImageFX assigns
	Assign ImageFX Work:ImageFX
	Assign Help Work:ImageFX/Help  ;Assigns help docs
	;End assigning ImageFX
@Set (1.3/2.x/3.x internal)  
	
	
	NB: I was unable to test this properly with 1.3. I 
	would appreciate anyone who has tried it to please help 
	me correct the problems.
	
	NAME
	Set - Set or clear the value of an environment variable.
	
	SYNOPSIS
	Set varname [string]
	
	DESCRIPTION
	
	First, let's discuss what an environmental variable 
	is. It is a named text string which stores an 
	environmental space and is accessible only to the Shell 
	from which it was created. To have that variable to be 
	accessed by any program or CLI (hence, a global variable) 
	then use the SETENV command.  SETENV stores the variable 
	in the private system memory, while Set stores it in the 
	RAM.
	
	This is different from environment variables created 
	with the new V1.3 "SetEnv" and "GetEnv" commands.  
	Programs which use the arp.library environment variables 
	will be able to read variables set by either "Set" or 
	"Setenv".
	
	To set the value of an environment variable, simply 
	use SET VARNAME=VAL, which sets the value of VARNAME to 
	VAL.  To remove this environment variable do Set VARNAME= 
	or Set VARNAME. There is no limit to the number of 
	variables you can set and clear with one command.  You 
	can intermix setting and clearing variables on the same 
	command line.
	
	To view the values of all current environment 
	variables, simply use Set without any arguments.
	
	You can use spaces in your variable names and values, 
	but it is not generally a good idea.  If you do use 
	spaces, you must surround the complete expression with 
	double quotes, i.e., "Variable Name=Variable Value". Note 
	that the similar looking expression "Variable Name = 
	Variable Value" has hidden spaces.  The Variable ends 
	with a space, and the value begins with one. This is only 
	one example of how problematical spaces in environment 
	variables and values can become.
	
	Set also has special features for setting the Escape 
	character. You can set the current escape character by 
	using the ESCAPE <char> keyword.
	
	One source of problems with old script files and 1.3, 
	2.x, and 3.x is the use of the star "*" to refer to the 
	current window.  Pre 1.3 programs tend to regard the star 
	"*" as a wildcard, as is common.  If you use the BCPL 
	keyword to do SET BCPL TRUE, those programs which tend to 
	have problems with this will attempt to overlook the "*" 
	as a wildcard.
	
	Finally, you can get a listing of all variables, 
	including the values of ESCAPE and BCPL by using the 
	keyword LISTALL.
	
	Under 2.x/3.x there are several environmental 
	variables which are automatically set for you, or which 
	you may set for yourself. These are:
	
	Process: The process number of the current shell 
	or task.
	
	RC : The Return Code of the last command executed. 
	This lets you examine some code without using the IF WARN 
	or IF FAIL commands.
	
	Result2: The error number that will indicate why the 
	last command failed. The FAULT command may be used to 
	interpret these.
	
	Echo: This local environment controls whether or not 
	the Shell repeats each command as you execute it. If Echo 
	is SET on, the commands are repeated. If you set it to 
	anything else or not at all they are not repeated. 
	Turning this on is a good way to debug your scripts that 
	don't work. Many times there is really no other way to 
	see why they failed. Echo will print each line as it 
	executes and will tell you which ran properly, and which 
	didn't.
	
	To remove a variable, you may use the UNSET command.
	
	EXAMPLE
	Set DODAH=SONG dateformat=0 copyflags= ESCAPE \
	
	The command line above creates or redefines the variable
	DODAH to have the value SONG, dateformat to have the value
	0, removes the variable copyflags from the environment, and
	sets the current ESCAPE character to \.
	
	ADDITIONAL CONSIDERATIONS
	The Shell also has builtin environment variable 
	expansion and assignment features.
@SetClock (1.3, 2.x, 3.x in C:)
	
	NAME 
	SETCLOCK - Used to copy the time and date from the 
	hardware clock to the AmigaDOS software clock.
	
	SYNOPSIS
	SETCLOCK [LOAD or SAVE or RESET]
	
	DESCRIPTION
	SetClock only works with Commodore's own 
	clock/calendar, or compatible units.
	
	KEYWORDS
	
	Load or Save or Reset
	
	One of these must be used!
	
	Load: The stored time and date is copied from the 
	hardware clock to the system clock.  This is 
	automatically  done in 1.3 in the startup sequence. Under 
	2.x/3.x it is done from the kickstart ROM.
	
	Save: The current AmigaDOS system time and date is 
	copied to the hardware clock.
	
	Reset: This will restart the clock if it was turned 
	off by some program which wrote to the clock's hardware 
	registers. You will know if this happens if you get a 
	report that says: "battery backed clock not found" or the 
	system clock is shown unset.
@SetDate(V1.3)
	
	
	NAME
	SetDate - Set the DOS datestamp for files.
	
	SYNOPSIS
	1.3:
	SetDate File [DATE] [TIME] [QUIET]
	
	2.x/3.x:
	SetDate File [DATE] [TIME] [QUIET] [ALL]
	
	
	DESCRIPTION
	SetDate changes the last modification date of a file.  
	This is useful with programs such as Make, or if a file 
	was inadvertently created when the operating system was 
	set to a bad date or time.  The last modification date 
	may be viewed using the List command.  As with all 
	programs which accept date and time information, you may 
	use words such as YESTERDAY, MONDAY, etc., to specify the 
	date.
	
	In the 2.x/3.x version of SetDate, you can of course 
	use wildcard patterns to specify more than one filename.  
	If you supply only the filename to SetDate, the current 
	date will be assumed. This is probably the most common 
	use of a program like SetDate, and is very convenient (it 
	performs similarly to the Unix Touch command).
	
	Also under 2.x/3.x SetDate uses the value of the 
	environment variable 'dateformat' to determine the style 
	of input entry it expects.
	
	KEYWORDS
	
	File
	The name of directory or file to SetDate. Under 
	2.x/3.x you can use wildcards to change multiple files.
	
	DATE
	The day, month, and year you wish to change the date 
	to. The recognized format is: DD-MMM-YY.  DD is the 
	two-digit number for the day. MMM is a three-letter 
	abbreviation for the month (eg FEB or APR). YY is the 
	last two digits of the year. 
	You may also use words like SATURDAY, YESTERDAY, 
	TOMORROW, etc.  Saturday, Sunday, Monday, and the rest of 
	the days of the week can be used as flags. The system 
	will evaluate the day then advance the system date to 
	match the specified day of the week. So, if it is Monday 
	and you specify Thursday, the system clock will advance 
	by three days.
	If the date is not specified then the file is set to 
	the current system date and time.
	
	
	Time
	You can set the time along with the date with the use 
	of this optional keyword. The recognized format is 
	HH:MM:SS, for hours, minutes, and seconds respectfully. 
	Hours are recognized in a 24-hour format (aka Military 
	Time) where 1:00pm is represented by 1300 hours. If you 
	leave out minutes and/or seconds they are defaulted to 
	00. If you don't include this keyword then the time-stamp 
	on the file is defaulted to 00:00:00.
	
	EXAMPLE
	
	1. To set the date to January 1st, 1988 to 12:15 for 
	the file 'myfile'.
	
	SETDATE myfile 01-jan-88 12:15
	
	2. To give the file 'foo' yesterday's date:
	
	SETDATE foo YESTERDAY
	
	3. To set all files ending in .o to the current
	date.
	
	
	SETDATE *.o  
	
	
	SEE ALSO
	DATE, LIST
@SetEnv(V1.3) 
	
	
	NAME
	SetEnv - Set or delete an environment variable in the 
	ENV: handler.
	
	SYNOPSIS
	SetEnv Varname [String]
	
	DESCRIPTION
	This command sets or delete the value of environment 
	variables using the new ENV: handler introduced by 
	Commodore.  It takes the name of a variable and the value 
	to set it to.
	
	An environment variable is a variable that is 
	accessable by all tasks.  Note that ENV: is currently 
	just a directory in RAM:, it is not a true handler. Maybe 
	in the furture global environmental varibles may be 
	stored in RAM reserved for the system and then 
	manipulated by their own device handler, as the local 
	environments are.
	
	KEYWORDS
	Varname
	The name of the environment variable to set. This is 
	the name of the text files stored in the ENV: directory. 
	Using the SETENV command copies the text string to this 
	file.
	2.x/3.x has several global variables which are 
	automatically set for you, or you can set for yourself.  
	These include:
	
	Kickstart/Workbench: These variables are created during
	system startup and contain the version numbers of the
	Kickstart and Workbench you are using.
	
	Editor: Recognized by some Workbench programs such as 
	MORE. If you set this variable to the path name of your
	favorite text editor, MORE allows you to bring up the
	program to edit the current file by pressing Shift-E.
	
	[string]
	The text string attached to the environmental 
	variable. If there are any spaces in the text then you 
	must enclose the entire string in quotes. If there is no 
	string specified then an empty string will be copied to 
	the variable. 2.x/3.x only: To remove the string then use 
	the UNSETENV command.       
	
	EXAMPLE
	
	1. Copy the name Bar to the environment variable named
	foo:
	
	SetEnv Foo Bar
	
	2. To remove a text string associated with the environment
	variable Foo:
	
	SetEnv Foo
	SetFont (2.x/3.x in C:)
	
	
	NAME
	SetFont - Allows user to specify the text font, size, 
	and style used in a particular shell window.
	
	SYNOPSIS
	SETFONT fontname fontsize [SCALE] [PROP] [ITALIC] 
	[BOLD] [UNDERLINE]
	
	DESCRIPTION
	You can use this program to change the System Default 
	Text font without using the System Font Prefrences 
	program. 
	
	KEYWORDS
	
	fontname
	The name of the font to install. It can be a system 
	bitmapped or scalable outline font.
	
	fontsize
	The point size of the font. A scalable outline font 
	will be scaled to fit that size. If a bitmapped of that 
	size does not exist then the next closest size will be 
	used.
	
	SCALE
	This enables bitmapped scaling. In other words, if 
	you specify a font size that does not exist then one will 
	be created from the characters of the next closest size.
	
	PROP
	The optional keyword that lets you use proportional 
	fonts. If you try to use a proportional font without this 
	keyword then you will get an error message that says: 
	'Object not of required type'. Warning: There are some 
	proportional fonts that will not print correctly in a 
	console window.
	
	ITALIC
	Prints the font in the italic format.
	
	BOLD
	Prints the font in the bold format.
	
	UNDERLINE
	Prints the font underlined.
	
	
	EXAMPLES:
	
	1. To change the font to a scaled version of Seista font
	which is 12 points high:
	
	SETFONT Seista 12 SCALE
	
	
	2. To change the font in the current shell to a bold 
	underlined version of the proportional Ruby font, 
	16 points high:
	
	SETFONT Ruby 16 BOLD UNDERLINE PROP
	SetKeyboard (2.1/3.x in C:)
	
	NAME
	SetKeyboard - Changes the key map of the keyboard
	for that Shell window.
	
	SYNOPSIS
	SETKEYBOARD mapfile
	
	DESCRIPTION
	
	A key map is a datatable which the Amiga refrences 
	when a key on a keyboard is pressed. Different key maps 
	cause the keys on the keyboard to print different things 
	depending on which country's keyboard you wish to use.
	For example, if your are using the French keymap letter
	'Q' reversed will be used when you press the 'A' key on
	the keyboard. Or, if you press the 'Q' key, then 'A' will
	be printed.
	
	For complete info on the foreign key layouts refer to 
	the 'Introduction to the Amiga' handbook which Commodore 
	bundled with your Amiga. If you want to see how your 
	keyboard is mapped out, use the Keytoy program (under 
	1.3) or the KeyShow (under 2.x/3.x) in the Tools 
	directory of your Extras disk. This will give you a 
	complete graphical representation of your keyboard.
	
	In Workbench 2.1 and higher you have system language 
	localization. In these versions, the key map is set via 
	the Locale preference progam. SETKEYBOARD allows you to 
	change the key map without accessing the Locale 
	Preference program the same way the SETFONT command 
	allows you to change the font without accessing the Fonts 
	Preference program.
	
	This command looks for its key map data file in the 
	'Keymaps' subdirectory of the DEVS: directory.  If you 
	type the full path then the key map file may be located 
	anywhere. The standard keymaps are currently limited to:
	
	
	cdn   French Canadian 
	ch1   Swiss French
	ch2   Swiss German
	d     German
	dk    Danish
	e     Spanish
	f     French
	gb    Great Britain
	i     Italian
	n     Norwegian 
	p     Portugese
	s     Swedish
	usa0  The standard mapping of the 1.1 Workbench (A1000)
	usa1  Maps for the numeric pad keys on 500/2000 
	usa2  Dvorak U.S. keyboard
	
	
	KEYWORDS
	mapfile
	The keymap data file which will be used. If the 
	keymap data file is in the DEVS/keymaps drawer then you 
	do not need to enter the path. If it is located anywhere 
	else, you do need to enter the path.         
	
	
	EXAMPLES
	
	1. To install the French Canadian keyboard:
	
	SETKEYBOARD cdn
@SetMap (1.3, 2.0x in Sys:System)
	
	NAME
	SetKeyboard - Changes the key map of the keyboard
	for that Shell window.
	
	SYNOPSIS
	SETMAP mapfile
	
	DESCRIPTION
	A key map is a datatable which the Amiga refrences 
	when a key on a keyboard is pressed. Different key maps 
	cause the keys on the keyboard to print different things 
	depending on which country's keyboard you wish to use.
	For example, if your are using the French keymap letter
	'Q' reversed will be used when you press the 'A' key on
	the keyboard. Or, if you press the 'Q' key, then 'A' will
	be printed.
	
	For complete info on the foreign key layouts refer to 
	the 'Introduction to the Amiga' handbook which Commodore 
	bundled with your Amiga. If you want to see how your 
	keyboard is mapped out, use the Keytoy program (under 
	1.3) or the KeyShow (under 2.x/3.x) in the Tools 
	directory of your Extras disk. This will give you a 
	complete graphical representation of your keyboard.
	
	In Workbench 2.1 and higher you have system language 
	localization. In these versions, the key map is set via 
	the Locale preference progam. SETKEYBOARD allows you to 
	change the key map without accessing the Locale 
	Preference program the same way the SETFONT command 
	allows you to change the font without accessing the Fonts 
	Preference program.
	
	This command looks for its key map data file in the 
	'Keymaps' subdirectory of the DEVS: directory.  If you 
	type the full path then the key map file may be located 
	anywhere. The standard keymaps are currently limited to:
	
	
	cdn   French Canadian 
	ch1   Swiss French
	ch2   Swiss German
	d     German
	dk    Danish
	e     Spanish
	f     French
	gb    Great Britain
	i     Italian
	n     Norwegian 
	p     Portugese
	s     Swedish
	usa0  The standard mapping of the 1.1 Workbench (A1000)
	usa1  Maps for the numeric pad keys on 500/2000 
	usa2  Dvorak U.S. keyboard
	
	
	KEYWORDS
	mapfile
	The keymap data file which will be used. If the 
	keymap data file is in the DEVS/keymaps drawer then you 
	do not need to enter the path. If it is located anywhere 
	else, you do need to enter the path.         
	
	
	EXAMPLES
	
	1. To install the French Canadian keyboard:
	
	SETKEYMAP cdn
	
	2. To install the French language keyboard:
	
	SETMAP f
	
	3. To restore the default system key map:
	
	SETMAP usa
@SetPatch (1.3, 2.x, 3.x in C:)
	
	NAME
	SetPatch - Released by Commodore to fix any known
	problems in the KickStart ROMS.
	
	SYNOPSIS
	1.3:
	SETPATCH [r]
	
	2.x/3.x:
	SETPATCH [NOCACHE] [QUIET]
	
	3.1:
	SETPATCH [NOCACHE] [QUIET] [NOAGA]
	
	DESCRIPTION
	This should be the very first program run in your 
	Startup-Sequence file. When run, the command prints a 
	list of the patches (program corrections) made.
	
	KEYWORDS
	r
	An optional switch which lets you use the recoverable 
	RAM disk (RAD:) to work on 1.3 machines with 1meg of chip 
	ram. If you are using a 1.3 machine and don't know how 
	much ram you have, simply run the AVAIL command any 
	you'll see. If it is just 512k, then you can't use a RAD: 
	device. But, if you have over 512k then you can.
	
	NoCache
	2.x/3.x only: Lets you disable the data cache on 
	accelerator cards. With cache on (default) commands run 
	much quicker, but some older programs do not run well (or 
	at all) with cache on, so turning it off may help with 
	compatiblity of older 1.3 programs.
	
	Quiet
	2.x/3.x Only: Prevents SetPatch from printing out a 
	status report of the patches made.
	
	NOAGA
	3.1 Only: Prevents an AGA machine from fully enabling 
	the AGA chipset. This lets you use setpatch to help you 
	run those programs that don't work on AGA graphics chips.
	
	EXAMPLES
	
	1. To patch 2.1 Kickstart routines without printing a list 
	of patches:
	
	SETPATCH >NIL: QUIET
@Skip (V1.3 in C:) (2.x/3.x internal) 
	
	
	NAME
	Skip - Skip to the appropriate label.
	
	SYNOPSIS
	Skip string [BACK]
	
	DESCRIPTION
	Skip moves the currently executing script file ahead 
	until it finds a lab declaration which matches its own 
	argument.  If Skip is used without an argument, it looks 
	for a null string designated by LAB.
	
	If you run skip without a label string or a LAB 
	command then you will get the error message declaring 
	'label not found by SKIP'.
	
	To Skip backwards in a file, you use the BACK 
	keyword.
	
	If at any point in its search for a label Skip 
	encounters the EndSkip command, it will abort the Skip 
	and return an error of WARN.
	
	
	By using the idiom "Skip ?", you can request a user 
	to give you a label, and jump to that portion of the 
	batch file.
	
	CAUTION: With the 1.3 version of SKIP, you should NOT 
	indent a "Lab" statement or that label will not be found.
	
	
	
	Note that 2.x/3.x contains this command as a builtin.
	
	KEYWORDS
	string
	The text attached to a LAB command which SKIP 
	searches for. The search always starts on the line 
	following skip and continues downwoard toward the end of 
	the file. SKIP always looks for the LAB keyword command 
	preceding the Skip command, it will not goto a LAB 
	command before the Skip unless the BACK keyword is used.
	
	
	back
	Added with 1.3, it starts at the Skip and searches 
	back up the file towards the beginning. You may not skip 
	backwards in an EXECUTE statement.
	
	EXAMPLE
	1. To skip to Lab Dodah
	
	
	Skip Dodah 
	
	
	2. To skip down to the next LAB statement in the current
	command file.
	
	Skip
	
	3. To skip to the LAB statement 'Here' before the current
	skip statement in the current command file:
	
	Skip Here Back
@Sort (V1.3, 2.x, 3.x in C:)    
	
	
	NAME
	Sort - Sort a file.
	
	SYNOPSIS
	1.3:
	Sort [From fromname] [To toname] [COLSTART n]
	
	2.x/3.x:
	Sort [From fromname] [To toname] [COLSTART n] [CASE]
	[Numeric]
	
	DESCRIPTION
	Performs a sort according to the first ASCII value of 
	the beginning characters of an AmigaDOS text file. 
	AmigaDOS treat a string of characters that ends with a 
	linefeed as a single line. Sort will compare each of 
	these lines with each other.
	
	Numbers will always come before letters. Lines will 
	be sorted in ascending order with the 'lower' number or 
	character first and the 'higher characters last (eg 
	1,2,3.....x,y,z). 
	
	Under 1.3 the sort is Case sensitive with capital 
	letters being listed before lower case letters. In all 
	versions 2.x and above there is no case sensitivity.
	
	1.3's sort is not very fast especially on long files. 
	If you have more than 200 lines then you must increase 
	the Stack size. If Sort fails, and you have 1.3, then 
	increase you stack size and you may improve your 
	performance.
	
	If you omit the From argument from Sort, it reads 
	from its standard input, which allows it to be used in 
	pipelines.
	
	KEYWORDS
	FROM
	The AmigaDOS file you whose contents you will sort. 
	If the fromname is the first argument in the command 
	labels then it is optional.
	
	TO
	The AmigaDOS file or device which the sorted lines 
	from fromname will be sent. If you use the same name as 
	fromname Sort will not work. If the toname is the second 
	argument in the command labels then it is optional.
	
	COLSTART n
	This takes a numeric argument which gives the 
	starting column for the sort. All entries to the left of 
	this column will not be considered in the final 
	arrangement.
	
	CASE
	2.X/3.X ONLY: If this option is used, the sort will 
	be case sensitive. In other words, upper case letter will 
	be sorted before lower case ones.
	
	
	NUMERIC
	With this keyword is specified all lines are looked 
	at as numbers. Lines that start with letters are assigned 
	the number zero. If both CASE and NUMERIC are used 
	simultaneously then CASE is ignored.  
	
	
	EXAMPLE
	1. To get a listing of all files sorted by time 
	(i.e., from the earliest to the latest).
	
	list >listfile
	sort listfile colstart 41
	
	or using pipes: list | sort colstart 41
	
	
	
	2. Sort the contents of your Address Book to a file 
	called Sorted Addresses:
	
	SORT "Address Book" "Sorted Addresses"
	
	
	
	3. To print out a sorted Address Book file in the 
	Work:People directory:
	
	SORT "Work:People/Address Book" PRT:
@Stack(V1.3 in c:) (2.x/3.x internal)
	
	
	NAME
	Stack - Set or display the current stack size.
	
	SYNOPSIS
	Stack Size
	
	DESCRIPTION
	
	Stack is used to set aside a certain amount of memory 
	for the active CLI. This memory area is a buffer area 
	used by programs to work in. The default stack size is 
	4000 bytes, which is enough for most programs. If the 
	stack is too small the program won't run.
	
	Many programs require more stack than the default 
	setting of the Amiga's stack will give them.  You can use 
	this command to display the current amount of stack (by 
	using Stack without an argument), or you can change the 
	current amount of stack by providing an integer argument 
	to stack.
	
	You can check the stack size of all active system 
	tasks by using the Status command.
	
	
	KEYWORDS
	
	Size
	The bytes of memory set aside that you wish to assign 
	as stack space for the currently active CLI. If you don't 
	use the Size keyword, then the current stack size is 
	displayed.
	
	
	EXAMPLE
	1. To obtain a good healthy stack for programs:
	
	
	Stack 10240
	
	
	2. To display the stack size of the currently active
	CLI:
	
	
	Stack
@Status (V1.3, 2.x, 3.x internal) 
	
	
	NAME
	Status - Display the currently running CLI processes.
	
	SYNOPSIS
	Status tasknum [FULL] [TCB] [CLI=ALL] [COMMAND=COM]
	
	DESCRIPTION
	The most common use of Status is to find what 
	background processes are still executing, this can be in 
	preparation to sending them a signal with Break, or to 
	find out if all your programs are completed before 
	turning off the computer.  The various options to this 
	command display information which may or may not be 
	useful, depending on your needs.  The default behavior of 
	Status is to display the CLI numbers and names of all 
	currently active processes. You can get information on a 
	specific process by typing Status <cli number>.
	
	You can also find out if a specific command is 
	executing using the COMMAND keyword.  This can be useful 
	in scripts, since if the command is NOT found, the WARN 
	fail level will be set.  Otherwise, a 0 fail level is 
	returned.  This is useful with shells that support 
	command substitution to do things like send BREAK codes 
	to processes.
	
	KEYWORDS
	
	taknum
	The number of the task which STATus is to report on. 
	If tasknum is not specified, all active tasks are 
	reported.
	
	FULL
	Displays all the information normally reported by 
	STATUS if both the TCB and ALL were both specified. This 
	keyword is completely optional.
	
	TCB
	This displays all information concerning stack size, 
	global vector size, and priority of all system tasks. 
	This keyword is completely optional too.
	
	CLI or ALL
	Specifying these keywords forces STATUS to report of 
	the status of all the CLI tasks.  This is the same as 
	running Status without any keywords. The CLI and ALL are 
	interchangeable.
	
	COMMAND or COM
	Added with 1.3, this prints the task number of the 
	CLI from which the 'filename' program was run. This lets 
	you send a break to a program using a script file. A 
	return code of 5 (Warn)is returned if that command is not 
	found.
	
	EXAMPLE
	1. To find out everything about all executing
	processes.
	
	Status FULL
	
	2. Here is an example using command substitution that
	will send a break to the process executing the
	ClockPtr command:
	
	Break `Status Command ClockPtr`
	
	Note that the above assumes you are using 2.x/3.x's 
	backtick function.  You might find it interesting to 
	compare this example with the more complex one given for 
	1.3: 
	
	STATUS >ram:temp COMMAND ClockPtr
	BREAK <ram:temp >NIL: ?
	DELETE ram:temp
	
	Both of these accomplish the same thing!
@TackOn(V1.3)            ARP User's Manual            TackOn(V1.3)
	
	
	NAME
	TackOn - Add a filename to a path.
	
	SYNOPSIS
	TackOn Path/a File/a
	
	DESCRIPTION
	TackOn takes a Path and a File and unites these two into one
	larger pathname which it then displays on its standard
	output.  This allows TackOn to be used in building up
	filenames in shell scripts using command substitution.
	
	EXAMPLES
	There are several good examples of using TackOn in the Ash
	Manual.
@Type (V1.3, 2.x, 3.x in C:) 
	
	
	NAME
	Type - Type a file, possibly with line numbers or in 
	hex.
	
	SYNOPSIS
	Type [FROM] fromname [[TO] toname] 
	[OPT N=NUMBER / OPT H=HEX] 
	
	DESCRIPTION
	Type displays a file on the current window, or, if a 
	TO argument is supplied, to a file.  With the 2.3/3.x 
	version of Type, you can type many files with one TYPE 
	command, and use wildcards as well.  Note that due to 
	this enhancement of Type it is possible to dispense with 
	Join, since Type can do Join's job as well as its own.
	
	Although you can view a file with Type, you are also 
	able to copy a file with it.  It can format its output as 
	hex number or include line numbers at the beginning of 
	each line.
	
	If you use Type without a filename, it will read from 
	its standard input. This allows you to use Type in a 
	pipeline, or to send keyboard input to a device (such as 
	a printer) or a file. To terminate an interactive session 
	with Type, use Ctrl-\. To pause the output hit the space 
	bar. Resume the output by pressing the Ctrl-x. The output 
	may be cancelled with the Ctrl-C.
	
	OPTIONS
	FROM fromname
	The name of the file you want displayed. Fromname can 
	be any valid Amiga file. The FROM keyword is optional if 
	the fromname immediatly follows the command. 2.x/3.x lets 
	you TYPE many files.
	
	NOTE: ONLY 'OPT N' OR 'OPT H' MAY BE SPECIFIED ONE AT 
	A TIME NOT BOTH AT THE SAME TIME.
	
	HEX or OPT H
	This displays the file(s) in hexadecimal.
	
	NUMBER or OPT N
	This displays the file(s) with line numbers. AmigaDOS 
	will treat any number of characters within a file ending 
	with a linefeed as one line.
	
	
	TO file
	The TO option lets you select a destination file 
	instead of typing to the console.  Note that with the 
	2.x/3.x TYPE, you must explicitly specify the TO keyword, 
	unlike the 1.3 TYPE. Under 2.x/3.x a second filename will 
	be presumed to be another fromname if the TO keyword is 
	not specified. Since 1.3 cannot display multiple files 
	with one TYPE command then the TO keyword isn't needed if 
	the toname directly follows the fromname.
	
	If TO is not specified, the TYPE is output to the 
	screen. toname may be any kind of AmigaDOS file or device 
	(such as prt:). It cannot be a directory, however. If you 
	specify a directory with something in it, TYPE will fail.  
	If toname is an empty directory then the directory will 
	be deleted and replaced with the typed file.
	
	EXAMPLE
	1. To Type a binary file in hex.
	
	
	Type WORK:ThisFile.bin OPT H   
	
	
	2. To Type the contents of a text file to the screen:
	
	
	Type this.txt
	
	
	3. To copy a file named this.txt to another directory:
	
	Type Work:Docs/this.txt Work:MoreDocs/this.txt
	
	
	4. Dump a text file to the printer with line numbers:
	
	Type Work:this.txt to PRT: Opt N
@UnAlias (2.x/3.x Internal)
	
	
	NAME
	UnAlias - Removes an alias from the system.
	
	SYTNOPSIS
	UnAlias name
	
	DESCRIPTION
	It will remove an alias from your system as well as 
	being able to list the current aliases.
	
	KEYWORDS
	name
	The alias you wish to remove. If you don't specify a 
	name, it will list all the aliases assigned.
	
	
	EXAMPLE
	
	1. To remove the XCOPY alias:
	
	UNALIAS xcopy
@UnSet (2.x/3.x Internal)
	
	NAME
	UnSet - Removes a specific local variable. 
	
	SYNOPSIS
	UnSet name
	
	DESCRIPTION
	If you don't specify a variable to UnSet, it will 
	list all the current local environment variables and what 
	they hold. For more information on local environment 
	variables see the SET command details.
	
	KEYWORDS
	name
	The name of the local environmental variable to 
	remove. If omitted, it will list all current local 
	environment variables and what they hold.
	
	EXAMPLE
	
	1. To list all the environment variables:
	
	UnSet
@UnSetEnv (2.x/3.x Internal)
	
	
	NAME
	UnSetEnv - Removes specified global environment 
	variable.
	
	SYNOPSIS
	UnSetEnv name
	
	DESCRIPTION
	This actually deletes the named file in your ENV: 
	directory. For more info on global environmental 
	variables see the details in the SETENV file. 
	
	If you don't specify a file to delete, then UNSETENV 
	will list all the current global varibles.
	
	KEYWORDS
	name
	The name of the global environment variable to 
	remove. If you don't specify a name, then the command 
	will list all of the global environment variables.
@Version(V1.3, 2.x, 3.x in C:)
	
	
	NAME
	Version - Report version numbers of current system software.
	
	SYNOPSIS
	1.3:
	Version [libraryname or devicename] [versionnum] [revisionnum]
	[unitnum]
	
	2.x/3.x:
	Version [libraryname or devicename or filename] [version_num]
	[revision_num] [unit_num] [FILE] [INTERNAL] [RES]
	[FULL]
	
	DESCRIPTION
	By default, Version reports the current versions of 
	Kickstart, Workbench and arp.library in use on your 
	Amiga.  This is the same as using the Workbench menu 
	selection "About...".  If you specify a name (which may 
	be a library or a device), Version attempts to find out 
	which version the system will use when accessed.
	
	
	OPTIONS
	libraryname or devicename or filename
	The complete path and name of the library, device, or 
	file whose version you want to check. You can only check 
	file version numbers under 2.x/3.x. If you don't specify 
	this keyword, the Version number of the kickstart and 
	Workbench will show up.
	
	Version_Num
	Accepts a numeric argument.  If the version of the 
	library or device in question is not the same as this 
	argument, the return code will be set to WARN.
	
	Revision_Num
	Like VERSION, but checks the revision number of the 
	specified library or device.
	
	Unit_num
	Useful only with some devices, to access a unit other 
	than zero.
	
	RES
	This lets you find the version number of a resident 
	command.
	
	Full
	Allows version to print out the entire versin string, 
	including the date.
	
	EXAMPLE
	
	1. To get the complete version of the Kickstart and 
	Workbench disks used:
	
	Version
	(This is what it will return:)
	Kickstart version 33.180. Workbench version 33.44. ARP
	version 39.1
	
	Note that the above values may be different depending on
	what versions of each software you are running.
	
	2. To check to see if the version of ReqTools is greater
	than 37. Print a warning if it isn't:
	
	Version >Nil: ReqTools.library Version=37 Revision=35
	IF Warn
	ECHO "ReqTools library version below 37."
	ENDIF
	
	1.3 CAUTION!!!
	You should not run VERSION indiscriminately on files
	which are not in the libs: or devs: directories, or your
	system may GURU.
@Wait (V1.3, 2.x, 3.x in C:)
	
	
	NAME
	Wait - Delay a specified amount of time.
	
	SYNOPSIS
	WAIT n [SEC=SECS] [MIN=MINS] [UNTIL time]
	
	DESCRIPTION
	Wait will delay a specified number of seconds or 
	minutes, or until the specified time is reached.  This is 
	most often used in EXECUTE batch files for a delay. By 
	default, all units are in seconds. If no delay is 
	specified, the default delay is 1 second. Sending a break 
	to the WAIT command will cause WAIT to conclude.
	
	OPTIONS
	n
	The amount of time, in minutes or seconds that the
	system will wait. If a time isn't specified then
	it defaults to 1 second.
	
	SEC=SECS
	The number entered is the number of seconds (this is
	the default) to wait.
	
	MIN=MINS
	The number entered is the number of minutes to wait.
	
	UNTIL
	The string entered is a valid time.  Wait will delay
	until this time is reached.
	
	You may only specify one of UNTIL, MINS, or SECS for WAIT.
	
	EXAMPLE
	1. To WAIT one second:
	
	WAIT
	
	2. To wait ten seconds:
	
	WAIT 10 secs
	
	3. To wait until 3:00:
	
	WAIT UNTIL 3:00
	
	4. To wait for three minutes:
	
	WAIT 3 min
	
	or
	
	WAIT 180
	
	5. To set up a background process that waits until 3:00 and then
	delete all the files in a directory named 'Garbage':
	
	RUN WAIT UNTIL 3:00
	DELETE Garbage/#?
@Which(V1.3, 2.x, 3.x in C:)
	
	
	NAME
	Which - display pathname of command.
	
	SYNOPSIS
	1.3:
	Which filename [NORES or RES] 
	
	2.x/3.x:
	Which filename [NORES or RES] [ALL]
	
	
	DESCRIPTION
	Which searchs the command path (including the 
	resident list) for the file you specify.  This command is 
	useful in determining exactly Which command you are 
	executing.  By default, Which searches the Resident list, 
	then the command path.
	
	Which is extremely useful in the way it will allow 
	you to tell Which AmigaDOS command will be found first 
	when there are multiple versions of that command in your 
	system paths.
	
	KEYWORDS
	filename
	The name of the file, directory, or device to find. 
	If you don't specify a logical device, then the Assign 
	list is also checked.
	
	NORES  
	Don't search the resident list.
	
	RES 
	Search only the resident list.
	
	ALL
	Which will search all of your paths including the 
	internal and resident lists. This should reveal all of 
	the copies of a given command.	  
	
	
	EXAMPLES
	
	1. To display the directory which the MUInt program 
	is stored, while only checking for its existence in the 
	resident list:
	
	Which MUInt RES
	
	
	2. To display the device to which ImageFX: is 
	Assigned:
	
	Which ImageFX:
@Why (1.3, 2.x, 3.x in C:)
	
	
	NAME
	Why - Used to get additional information about failing
	commands.
	
	SYNOPSIS
	WHY
	
	DESCRIPTION
	AmigaDOS has this little command that MSDos and 
	System 7 users can only dream about. MSDos nor System 7 
	gives the user any kind of feedback when a command fails 
	to run. The few messages they do send you are confusing 
	and make sense only to Bill Gates (maybe). When AmigaDOS 
	hits a problem, what happens? You get a nice little 
	requestor telling you what was wrong and probably a 
	suggestion on how to fix it. If you send the Why command 
	right after this happens, you can get additional info on 
	the command failure and more details (in simple English) 
	on what can be done to correct it.
	
	Sometimes, Why will send back a failure code in the 
	form of a number. You can use the Fault command to 
	analyze this number and investigate more fully the fault 
	code.
	
	If you issue Why after a command that executed 
	successfully (or did the failed command has issued all 
	the information available) you will get the message: "The 
	last command did not set a return code."
	
	
	KEYWORDS
	
	There are no keywords.
	
	EXAMPLES
	
	1. What happens when a Why is issued after a RUN 
	command fails to run:
	
	1> RUN GrooveyGame
	
	RUN: Can't run GrooveyGame
	
	1> WHY
	
	Last command failed because file not found
@DMS
 Usage:            DMS 0;33mcommand 0;32moptions,,,0m
 1;33mcommand0m----------------------------------------------------------------------
 READ    -  Compress disk.           | VIEW    -  View information.
 APPEND  -  Append tracks to  file.  | VIEWDIZ -  View FILE_ID.DIZ in file.
 WRITE   -  Decompress disk.         | TEST    -  Test file.
 REPACK  -  Repack file.             | TEXT    -  Show BANNER in file.
 SFX     -  Make .DMS executable.    |
 1;32moptions0m----------------------------------------------------------------------
 FROM    - Drive (ex. DF0: RAD:)     | ENCRYPT - Encrypt file with password.
 TO      - Drive (when reading)      | DECRYPT - Decrypt file with password.
	   Filename(when repacking)  | PC      - Read as MS-DOS disk.
 LOW     - Track to start from.      | HD      - Read High-density disk.
 HIGH    - Track to end at.          | FULL    - Show full info on DMS file.
 CMODE   - Packing method (ex. BEST) | SAVE    - Saving of FILE_ID.DIZ
 TEXT    - Banner for DMS file.      | NOPAUSE - Skip 'press [RETURN]' request
 DIZTEXT - FILE_ID.DIZ for dms file. | NOVERIFY- Write without verify of data.
 NOVAL   - No validating of disk.    | NOTEXT  - Do not display banners.
 NOZERO  - Ignore diskbitmap.        | RETRY   - Read/Write Retry (when Error)
 DEVFIX  - Utilize dms for DMS.DEVICE|
 -----------------------------------------------------------------------------
 
 Usage(s):
 1;31mDMS 0;33mRead file31m[.DMS]32m 31m[FROM 33mDev:31m] [TEXT 33mfiletext31m] [CMODE 33mmode31m] [LOW 33mlowtrack31m]
	[HIGH 33mhightrack31m] [NOVAL] [NOZERO] [ENCRYPT 33mpassword31m] [PC] [HD]
	[DIZTEXT 33mfiletext31m] [RETRY 33mvalue31m] [DEVFIX]
 
 1;31mDMS 0;33mAppend file31m[.DMS]32m 31m[FROM 33mDev:31m] [TEXT 33mfiletext31m] [CMODE 33mmode31m] [LOW 33mlowtrack31m]
	[HIGH 33mhightrack31m] [NOVAL] [NOZERO] [DIZTEXT 33mfiletext31m]
 
 1;31mDMS 0;33mWrite file31m[.DMS]32m,,, 31m[TO 33mDev:31m] [LOW 33mlowtrack31m] [HIGH 33mhightrack31m] [NOVAL]
	[NOVERIFY] [NOTEXT] [NOPAUSE] [DECRYPT 33mpassword31m] [PC] [HD]
	[RETRY 33mvalue31m]
 1;31mDMS 0;33mRepack file31m[.DMS] [TO 33mfile31m] [LOW 33mlowtrack31m] [HIGH 33mhightrack31m] [CMODE 33mmode31m]
 
 1;31mDMS 0;33mView file31m[.DMS]32m,,,31m [FULL]             1;31mDMS 0;33mTest file31m[.DMS/.FMS]32m,,,31m
 1;31mDMS 0;33mText file31m[.DMS]32m,,,31m                    1;31mDMS 0;33m?31m (HELP)
 1;31mDMS 0;33mViewdiz file31m[.DMS]32m 31m[SAVE 33mfilename31m]    1;31mDMS 0;33mSfx file31m[.DMS]32m
 0;32mFMS Commands:
 0;31mUsage:   DMS <command> archive[.FMS] <filename>,,,
 1;31mDMS 0;33mMakesfx file31m[.FMS]31m
 1;31mDMS 0;33mA file31m[.FMS]31m:  Add files to archive   1;31mDMS 0;33mE file31m[.FMS]31m:  Extract archive
 1;31mDMS 0;33mV file31m[.FMS]31m:  View archive full      1;31mDMS 0;33mL file31m[.FMS]31m:  List archive
@PGP 2.6ui
 
 PGP -ea {Text}			Verschlsselt eine Nachricht
 PGP -d {Text}			Entschlsselt eine Nachricht
 PGP -ka {Keyfile}		Fgt einen ffentlichen Schlssel hinzu
 PGP -kg 			Erstellt ein Schlsselpaar
 PGP -kr {User_Id}		Entfernt einen Public-Key
 PGP -ke {User_Id}		Editiert die User_Id oder den Mantra
 PGP -kxa {User_Id} {keyfile}	Extrahiert einen ffenlichen Schlssel
@