The following commands do not exist that I know of. Not being a programmer, I can only give the idea of what the commands should do. As to the specific syntax, it could be different in the final form. *************************************************************************** AFI (Ask For Input or Information) command specs. This command would ask a user for a text string, filename, AmigaDos command, etc... To be passed to the command sequence. The (.) directive is any of the Execute command directives, such as .Key, .BRA, .KET, etc... And may use the AmigaDos Template qualifers /A, /K, /S . Example 1) AFI <input question> .Key <user defined directive subsitution name> Command Sequence File: AFI "Show which picture file?" .Key arg show <arg> Results in Cli output: Show which picture file? [crusor ready for user input] The substitution names/characters pass the arguments until given another argument to pass or no argument to pass( "" ). Example 2) Command Sequence File: AFI "Show Picture file?" .Key arg show <arg> AFI "Show Picture file?" .Key arg show <arg> AFI "Show Picture file?" .Key arg show <arg> AFI "Show Picture file?" .Key arg show <arg> Results in: Show Picture file? cat.pic {this pictures shows then user closes screen} Show Picture file? dog.pic {this pictures shows until user closes screen} Show Picture file? {no input shows dog pic.} Show Picture file? "" {nothing to show!} Like the Ask or Pause command the AFI command ask for input, but unlike the Ask or Pause command the AFI command is not limited to y/n input. *************************************************************************** EXT command specs. EXT <string><opt string> Compares string to the EXT-Ref file(s) being used and follows the process in the EXT-Ref. file according to the user defined process, passing the string to the EXT-Ref file. If no string is found in current user defined EXT-Ref. file then prints to screen "No string match found for <string>". The <opt string> is optional and is used instead of string in looking at the EXT-Ref file for a process to follow, but uses the orginal string in the process. EXT -t <string> ( -t = Tell ) Determines if string is just a string, if so it follows the process in the EXT-String file marked "!S!" or if no process is marked "!S!" prints to screen "<string> is a string argument" If string is a Directory, it follows the process marked "!D!". If no process is marked "!D!" prints to screen "<string> is a Directory. If string is a file, and is a text type file (such as a Document, command sequence, script), it follows the process in the marked "!TT!". If no process is marked "!TT!" it prints to screen "<filename> is Text type file". If not a text type file does string(s) search of file in an effort to determine file type, via searching for user defined string(s), via the EXT-String file. If string found, follows user defined process. If no string found, follows process marked "!NS!" or if no process is marked "!NS!" prints to screen "No String match found for <Filename>". EXT -c <match string>=<user defined process> ( -c = Change ) When the EXT command is first used it copies to RAM: the EXT-Ref. file "EXT-Ref.Default". The -c opt only changes or adds to the file in RAM:. If a <match string> is already being used in RAM: it replaces it with the new process to follow. EXT -c only act on the RAM: and if a <match string> is found elseware it adds the <match string> and new process to RAM: (which it looks at first for a <match string>.) EXT -w <Ext-Referance filename> ( -w = With ) Changes the EXT-Ref.Default (RAM:) file to another user defined EXT-Ref. File. User can create as many EXT-Ref. files as needed. EXT -p <EXT-Ref filename> ( -p = path ) Upon not finding a string match/process to follow in the RAM: EXT-Ref file, the EXT <string> command will look to any and all EXT-Ref files that have been given the EXT -p option. Looking at the most recent first and then the next most recent, etc... Last in first out style. The -p option has no effect on AmigaDos Path command, and is only used for EXT <match string> searches. EXT -pd <EXT-Ref filename> ( -pd = delete from path ) Deletes the <EXT-Ref file> from the file list of files to search for <match string>. EXT -s <filename> ( -s = Save ) Saves to disk the RAM:EXT-Ref. file as <filename>. If no filename is specified it saves it as the filename in RAM: overwriting file. The file is (unless otherwise noted) saved to the same Dir path. EXT -d ( -d = Delete ) Deletes the EXT-Ref. file from RAM: releasing the memory used by the EXT-Ref. file. EXT ? (standard use of the ?) EXT-String File format (User definable) The listing of File character strings to search for in specifed file is in the format of a text file and works on a line by line bases, in sequencial order until string match found or end of list is reached. Upon finding a string match, follows the given process. <!D!> (see above) = <user defined process> (*return key*) <!S!> (see above) = <user defined process> " <!TT!>(see above) = < " " " > " <character string 1> = < " " " > " < " " 2> = < " " " > " < " " 3> = < " " " > etc... <!NS!>(see above) = < " " " > " Standard file formats, such as IFF, have common character strings for the different formats (ie. IFF pictures file have a common string amoung themselves but different than the common string of IFF sound files.) However, different programs can use different or no file extentions for the IFF files it uses. The EXT-String file is a listing of character strings to look for, for the -t opt. Also giving a process to follow if string found. EXT-Referance File format (User definable) Like the EXT-String file, the EXT-Ref. file is a text file and works on a line by line bases, also in sequencial order as follows: <#?.extention 1> = <user defined process> (*return key*) < " 2> = < " " " > < " 3> = < " " " > etc... Upon finding a string match, the EXT command simply treats the <user defined process> as a standard Cli command line, passing the string and any arguments to this command line. If more than one line is needed, than the user would need to write a command sequence file and have the <user defined process> read as an example: <execute (command seq. filename) > Why AmigaDos can't Do it, yet! If the IF-ELSE-ENDIF statement would recognize pattern matching characters as PATTERN MATCHING CHARACTERS, then it would be possible to write a command sequence file that would act as an EXT command to some degree. However this is not the case, the IF-ELSE-ENDIF statement treats Pattern Matching Characters only as actual string characters. (ie: #?.pic does not EQ dog.pic but does EQ #?.pic) Usefullness of the EXT Command. Besides the basic use of determining what type of file a file is, the following examples should give a much better idea of the uses of such a command as EXT. 1) EXT-Ref file: .pic = copy <filename> to pictures: .doc = copy <filename> to Documents: .anim = copy <filename> to Animation: .smus = copy <filename> to Music: This would not only copy the file to the proper Devs: (or disk) but would also request the proper Devs: (or disk) if not present. This EXT-Ref. file would make it easy to sort out files to the proper place without sorting such a file as test.exp. unless the <opt .extname> is used. 2) EXT-Ref file: .pic = show <filename> .doc = blitz <filename> .anim = player <filename> .smus = SMUS.player <filename> [args] This would automatically use the command needed to process the file. Saving the user the time typing in the proper command or even remembering the command. (a listing of C: takes time!) 3) This next example is in using the EXT command in a command sequence file. command sequence file (named fun): .K subname1,subname2,subname3,subname4,subname5,etc... EXT <subname1> EXT <subname2> EXT <subname3> EXT-Ref. file: .pic = newcli from <show <filename>> .doc = newcli from <con:hpos/vpos/width/height type <filename>> .smus = smus.player <filename> [args-subname4 & 5] Entered in the cli: Execute fun cat.pic cat.doc cat.smus catsound1 catsound2 What this would do is to first bring-up the cat.pic, then open a cli window and type the cat.doc in it, then while you can both see the .pic and read the .doc file it will play the cat.smus song. These are only a few simple examples of the use of such a command as EXT (extention). One might first use the example #2 to determine which file to use with the "fun" sequence file, then -c (change) to the EXT-Ref file in example in #3 before executing "fun" file. Much more complex use of the EXT command and command sequence files might be that of producing magizine disks or educational disk. The use of such filename.extention as .quiz and .score might run a quiz program and then show the .score file or compared scores. Lets not forget other commands as sort, wait, join, search, etc... and the uses of EXT with these commands. The EXT command doesn't have to use the filename in the <user defined process>! Another useful command? How about a Prompt+ command. This command would simply change the cli prompt to whatever (as prompt does), but would also type in the command(s) specified by the user for the user. Exp. Prompt+ 1> Run would result in: 1> Run [crusor ready for user input] Kinda like command history, but automatic. And another useful command.