DoTil Revision 1.0 January 8, 1987 Directory utilities seem to be a popular item. Many of us spend a large proportion of our console time rooting through our disks trying to maintain some semblance or order. This means a lot of typing of obscure file names and directory paths which end up being wrong more often than not. DoTil hopes, or at least pretends, to make those file maintenance chores a little easier. DoTil will list in alphabetical order, all files on any two directories. It will show the file size, creation date and the amount of free disk space. It will copy, rename and delete files, create or delete directories and move one or more files from on directory to another. It will even do some of the things it can't do itself using the COMMAND feature. DoTil can be used to run your editor, and could be used to run a compiler although it is actually more trouble than using CLI to do so. It will not work well with programs (such as FORMAT) which require entry from the current standard input, and if run from WorkBench, it doesn't understand what the 'current' directory is. Most importantly, it will not decide what you need to do next. That remains, as allways, the user's problem. Most of the program is intuitively obvious like a good Amiga program should be. There are some points which require the inevitable clarifications. Getting Started... Why does all documentation have to contain this tired old subtitle? Start the program from WorkBench or CLI. The RAM: disk is displayed in both 'windows'. Notice the Total and Space Available values. Total shows the total size of all files in the current directory, or the total of all selected files. Space Available displays the amount of disk space available on the destination. This value is always zero for the RAM: disk. If your RAM: disk is empty, select another disk using the gadgets in the lower right hand corner. Click on a directory (displayed in orange on 'normal' systems) and the directory will be loaded and displayed. Select one file by clicking on it. Notice that the directory and file name is shown in the 'source' gadget. This is useful when using RENAME. Now select some more files and watch the Total value increase. Copy the files to RAM: by clicking the COPY gadget in the title bar, or by using the COPY menu item. Each file is displayed in the Message space as it is copied. The number of files copied will be shown when the command is complete. Play with the OPTIONS menu (all non-destructive) and see the how file dates and times may be displayed. The DIR SELECT menu item allows a directory to be selected rather than loaded. This is the only way to delete or rename a directory. So much for getting started. DELETE, MAKE DIR, VIEW These functions do not require a 'destination'. A single path is all that is needed, obviously. Only the 'Source' path is valid for these commands. This is the main reason for the WINDOWS menu list. Want to delete a file on the 'Destination' to make room for the file you are about to copy? You must make that 'window' the 'Source' first using the SWAP menu item. Delete the file, and SWAP again. You are ready to copy. Manual Input: The Source and Destination string gadgets do not behave in precisely the same way as in other directory utilities. They are used primarily for display. The only input you should need (or want) to provide are the names of new directories, or the new file name when using RENAME. You may for some unknown reason be tempted to just type in the destination path rather than wait for the directory to be loaded using the gadgets. Don't bother, it won't work. Devices and paths are not normally obtained from the string gadgets, but from internal variables which are set when the gadgets are used. This does NOT preclude coping a file to a new name by entering the new name via the destination gadget. This will work just fine. When in doubt, remember: if you can use the mouse to select the name you want, do so. Otherwise type the new name into the string gadget. Standard Output: DoTil may be run either from WorkBench, or from the CLI. If the program is executed from CLI, it will use the CLI window for standard output. DoTil itself does not use the standard output except for a few hopefully never to be seen error messages. Any program executed using the COMMAND feature (see below) will use the CLI window just as if it had been run directly from CLI. If DoTil is run from WorkBench however, a little window is opened for use as the standard output. This window will be located behind DoTil, and must be made visible using the depth gadgets if you want to see what you are doing. I had to access some Lattice data structures (located in _main.c) in order to make this possible. Commands: This lets you EXECUTE the contents of the Command string gadget. Type in whatever you want and select the Execute menu item. It probably won't work because this feature has no notion of what the 'current' directory is. The complete path must be specified. The S TO COMMAND and D TO COMMAND menu items allow the Command string gadget to be filled using the mouse. Both will concatenate the contents of the Source or Destination string gadget onto whatever is already in the Command gadget. Use it for INFO or a printer utility. Don't use it for FORMAT because there will be NO standard input and you will not be able to PRESS RETURN TO CONTINUE. Limitations: You can not select files in more than one directory. The size of the 'source' and 'destination' string gadgets will limit the utility of DoTil if you have very deeply nested directories and/or very long file names. This is a design error on my part. String gadgets may actually contain more characters than are displayed. The arrow keys may be used the scroll through the undisplayed text. I got lazy and didn't want to figure out a way to indicate that all the text wasn't shown. This may change in the next version. The VIEW function is a bare-bones routine. When viewing ASCII files, it makes an assumption about the size of each text line. Consequently, the proportional gadget is not entirely accurate. Clicking in the select box will select the next page, more or less. The proper (and time consuming) way to correct this is to count all the lines in the file before the first page is displayed. The proportional gadget could then be positioned accurately and each click in the select box would produce the next page, exactly. The purpose of the VIEW feature is to allow a quick look at the file you are about to copy or delete. DoTil is already too big to justify the extra code. My apologies to those of you who are fortunate enough to have a third diskette or hard disk. DoTil has left you out in the cold. The next version will fix this inexcusable limitation. The GET PARENT menu item should be a gadget. I just couldn't figure out where to put it without changing the whole layout. Once again, next version. Someone is going to delete a whole bunch of files sometime because the files stay selected after the command is complete. I have no intention of changing this since I believe it is genuinely useful under most conditions. It would be easy to delete the wrong files accidently especially if SWAP is being used and the source and destination are jumping all over. If it happens, too bad for you. I'm sorry and thats the only consolation you'll have. The current plan is for the source and destination 'windows' to stay put in the next version. SWAP will cause the contents to move instead. This may cause some problems of its own, but I find myself staring at the screen sometimes trying to convince myself that I'm about to do the right thing. I think it will help if things don't move around so much. Contributions: I live in a tiny room with no heat. I work long hours at low wages to support my sick mother. I believe in the Amiga and the free enterprise system. Please send me the meager sum of $15 for my efforts in producing a program of genuine utility. It doesn't come in a flashing box and the documentation isn't on slick paper with little tabs but I put my heart into this program. Please, send your check or money order to: Dan Franki 12306 Tomanet Trail Austin, Texas 78758 When I have the source in a condition I consider distributable, I will make it available to all. DoTil owes a lot to other peoples programs from which I have borrowed shamelessly. Send me a disk (and a little money) if you just can't wait. Last but not least, this important announcement: DoTil may be freely copied and used by anyone provided that: The party providing the copy recieves no fee or other compensation excluding club membership dues or media charges. This documentation file is included in its original form. The author makes no claims as to the suitablity or accuracy of this program. Any damage resulting from the use of DoTil is the sole responsibility of the user.