A simple utility which will scan a directory (recursively, if desired) and then perform some action upon each file in that directory which matches the requirements given (filename/filetype). The action is specified as a *command and can refer to the found file by full pathname, leafname and also to the parent directory of that file. The main advantage of forall over other, similar, utilities is that it scans the directory tree first and only then starts issuing commands. This makes it possible to use *rename, *delete, et.al. which could otherwise cause problems. As a bonus, forall can be instructed to output an Obey file of the commands (and/or execute them).