FileFind Amiga! Version 1.5 Created by Ray Lambert FileFind is a CLI utility which will search for files on filing devices using wildcards. The MS-DOS wildcards "*" and "?" can be used as well as the AmigaDOS wildcard "#". The drive specifier is optional and if not supplied the currently logged drive is used. An optional directory specifier may also be used which limits the search to the specified directory and all sub-directory levels under it. Multiple arguments may be supplied to search on more than one drive for a particular file, or to search for multiple files on multiple devices. Ctrl-C may be used to immediately terminate the search and return your CLI prompt to you. Version 1.5 is pure and as such can be made resident under AmigaDOS 1.3 or under AmigaDOS 1.2 using ARP. NEW TO VERSION 1.5: I have introduced my own pattern matching routines to this release. In most of the previous releases I was using a Lattice library routine called stcmp() which is really an all-purpose, general expression parser - it was not completely appropriate for filename-wildcard matching. For example, with Lattice's routine, if you entered "FF foo", Lattice would actually match "foo*", which probably was not what you really wanted to see. My routine will literally match "foo" if that is what you enter, or "foo*" if that is what you enter. The new routine was written specifically for filename pattern matching which makes it more appropriate for use in FileFind. It is a little larger than Lattice's stcmp(), and subsequently has increased the executable code size a bit, but it appears to be faster and certainly behaves more appropriately. The new routine supports the following wildcard characters: ? - matches one of any character. #x - matches one or more occurances of "x", which can be any valid character. * - matches any number of any characters. #? - a special case of "#x" which works the same as "*". In addition to the new wildcard matching routine just discussed, version 1.5 supports a pair of command line switches: -q : enables "Quiet Mode" -v : enables "Verbose Mode" When "Quiet Mode" is enabled "Searching..." messages (which normally appear to display the name of each directory that FileFind searches in) are suppressed. "Verbose Mode" is just the opposite of "Quiet Mode" and is the default. The two switches may appear anywhere on the FileFind command line. They may be intermixed between all other command line input thus allowing the use of "Quiet Mode" for some searches and "Verbose Mode" for others in the same invocation of FileFind. If you find that you prefer "Quiet Mode" all the time let me remind of the aliasing capability of the AmigaDOS 1.3 Shell. An alias can be easily created to invoke FileFind in Quiet Mode all the time. For Example: "Alias FF FileFind -q []". Usage examples: -------------- Search for all C source files on "DH0:"... FileFind DH0:*.c Search for all files with the word "disk" in them in "c:"... FileFind c:*disk* Search for all Workbench icon files (.info) on "DH0:" and "DH1:". Make the search on "DH0:" "quiet" and "DH1:" "verbose"... FileFind -q dh0:*.info -v dh1:*.info This release includes the source code for those of you who want to experiment a bit. The source will only compile with Lattice Version 5.0x, as it uses very Lattice-specific tricks to gain maximum speed and minimum code size (6252 bytes), however it can be converted to compile with Manx. See the makefile for compiling instructions. Anyone is welcome to improve/enhance FileFind in any way, however I ask that if you distribute derivative works that you give me some credit for the original work. I would also greatly like to see the cosmic improvements that you make! A note about the name: The first version of FileFind was released BEFORE AmigaDOS 1.3 which contains the program FastFonts. FileFind has always been called FF to minimize typing required to invoke the program. FastFonts was always called FastFonts until it was released with AmigaDOS 1.3 when it was renamed to FF. You must be aware of this potential naming conflict if you intend to use FileFind. If you attempt to copy FileFind to your c: directory as FF, and FastFonts already exists there as FF, the COPY command will silently overwrite FastFonts with FileFind without your ever knowing. I suggest that you rename either FileFind or FastFonts to something that won't conflict. I am in favor of renaming FastFonts because it is normally only executed once per session and that is in your startup-sequence file, however FileFind may be executed many times in a session and it will save you some typing if it is called FF. See the RENAME command in your AmigaDOS manual if you're not sure how to do this. FileFind is copyrighted to the author, Ray Lambert, and is released as public domain. It may be freely redistributed as long as this file goes along with it. FileFind may not be sold commercially without permission from the author. If you have questions, complaints, suggestions, propositions, etc., you may contact me at the following places: PLink: Analog*Kid U.S. Snail: Ray Lambert 415 Sanford Road Westport, Massachusetts 02790 Phone: (508) 672-8232