The following command does not exist that I know of.
 Not being a programmer, I can only give the idea of what the EXT
 command should do. As to the specific use of the options, it may
 a bit different than say EXT -t <filename>. This might work better
 in a different syntax, then again maybe not. Please do give me some
 feedback as to what you think of the following. Tim Rue


                      EXT command specs.

 EXT <filename> [arg1 arg2,,,] <opt .extname>

     Looks at the extention in the filename and follows the processes
     in the EXT-Ref. file according to a user defined process, passing
     the filename and any optional arguments to the EXT-Ref file. If
     no extenion is found in current user defined EXT-Ref. file then
     prints to screen "No EXT-Referance found for <Filename>". The
     <opt .ext name> is optional and is used instead of filename
     extention or in the case of no extention in filename.

 EXT -t <filename>                ( -t = Tell )

     Disreguards extention (if any) and does string(s) search of
     file in an effort to determine file type, via searching for
     user defined string(s), via an EXT-String file. If string
     found, prints to screen "<String>=<user defined extention(s)>
     for <Filename>". If no string found, prints to screen "No string
     match found for <Filename>".

 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 -c <extention> <user defined process>          ( -c = Change )

     When the EXT command is first used it copies to RAM: the EXT-Ref.
     file to be used. The -c opt only changes or adds to the file in
     RAM:. If an extention is already being used it replaces it with
     the new process to follow.

 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 is in the
 format of a text file and works on a line by line bases as follows:

<Character string 1> = < opt user defined extention(s)> (*return key*)
<   "        "    2> = < "     "         "    "       >       "
<   "        "    3> = < "     "         "    "       >  etc...


     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 only a
 listing of character strings to look for, for the -t opt. Also giving
 a listing of extentions the user may be using in the EXT-Ref. file(s)


           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 as follows:

 <.extention 1> = <user defined process> (*return key*)
 <    "      2> = < "      "     "     >
 <    "      3> = < "      "     "     >  etc...


    Upon finding a filename extention match, the EXT command simply
 treats the <user defined process> as a standard Cli command line,
 passing the filename 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) <filename> [passed arg1 arg2,,,]>


                   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.

                       Hope someone will make these commands, and PD.
                                            Timothy Rue (AAi member)