Directory Utility DUX version 4 Fixed ARC and DEARC problem. Updated DOCS!!! This will help those having problems with rename and arc/ DE_ARC. Assign C: to ram: only happens on FORMAT and DISKCOPY and is now reassigned to sys:c after the function completes. Typing into any string gadget with a does not try to get the new directory. SLIDING WINDOWS! -- CLICK on the sliders and whold them down and move them arround. The files update as you slide. Directory Utility DUX version 3 This program now allows multiple directory selection. NOTE: For this program to work the commands Execute and Assign must be in the sys:c directory. Directory Utility DUX version 2 Questions or comments can be placed on PLINK to OPS602. I would be interested in any future improvements people would like to see. NOTE: a final bug in the update of both the source and destination directories has been fixed. To DLDSET delete a directory or DELETE a program or to FORMAT or DISKCOPY a DISK you must click the gadget twice! This is an upgrade of the program I have been modifying. The following comands and directories are needed for the Diskcopy and format functions to work: DIRECTORY C LIBS SYSTEM PROGRAM NAME Assign icon.library Format Run Diskcopy All commands in any of the directories must start with CAP and the rest of the name should be lower case. This is true for any command you want selected to ram: The following features have been added: 1. COMMAND SELECTION TO RAM: The Gadgets DLDSET and GTDSEL are multifunction gadgets. When DUX first comes up the two directories on the screen are the default C directory and the DUC directory utility C directory.these gadgets are used to select and set the comands you wish to place in ram:. Also a message displayed requesting comamand selection is displayed on startup. The GTDSEL gadget can be poked to highlight all commands DU would currently need. This you can use if you have memory to burn. Or you can select a single command just as you select a file THen by using the COPY gadget you can copy your selected commands to the DUC directory in ram:. This is the Directory utility Command file in ram:. Then use the gadget DLDSET to set the commands to the ram: directory. Once this gadget is poked the GTDSEL and DLDSET keys then become the function GET DIRECTORY and DELETE DIRECTORY. Th following gadgets can be poked durring the selection process: ALL,CLEAR,GTDSEL,COPY,the slide bars and file selection windows. Any other action will leave all commands on the default directory and the GTDSEL and DLDSET gadgets will no longer function as command selection gadgets. D I R U T I L X X - file/disk utility program 01/02/87 UPDATED BY DEAN D. HELD Minneapolis, MN TWO DIRECTORIES IN TWO WINDOWS. This program now has 2! directory windows which prevents so much disk activity when switching directories. The highlighted window is the source the un highlighted window is the destination. TO select the source window click on the slide gadget, the corect file selection window, or use SWAP which now switches the highlight. Also GLOBAL RENAME,EXECUTE,DISKCOPY,MOVE WITH DELETE (same as COPY but deletes the source files after copy),DEARC,ARC,ARCLIST (now goes to unhighlighted destinaton device). D I R U T I L I I I - a file/disk utility program Original Version by Chris Nicotra Revisions/Enhancements/Fixes by Dave Jobusch, Rich Medved and Nathan Barber A feature that I really like is being able to get a screen display of ASCII files from programs like "Sweep". The only version of DirUtil that has ever had this lacked the numerous gadget buttons of this version. Unfortunately, on that version, the individual that added the TYPE feature, decided to keep the code. It's a pity, he had a good implimentation. When I found this version on a local board, there were only two things that I didn't like. The lack of a TYPE was one. The other is that I have three floppies on my Amiga, but the utility only had gadgets for df0: and df1:. Well, now it supports df2:. When I compiled the code, I got over 50 compiler warnings, I cleaned up over half of them and, hopefully, didn't add any new ones. Don't worry about the warnings, the code compiles and links fine -- it's just that I got tired of looking for errors in midst of the field of warnings. It compiled fine with Lattice 3.03 and Manx 3.2 This program is in the public domain. That means you can't sell the damn thing to anyone, and further more, I doubt you'd get much for it. As a matter of fact, I beat this thing to death for 2 weeks, and it still isn't perfect, but it works. I got the original program from a BBS in Omaha, and do not know who Chris Nicotra is. Instructions: Click on file or directory names in the file window to select a file to take action on. Click on one of the many gadgets to take the selected action on the selected files/directory (yes, only one directory at a time). The three string gadgets at the bottom are: First directory. This can be the source or destination based on being highlighted or unhighlighted. Second directory. This can be the source or destination based on being highlighted or unhighlighted. E: The string to be passed: GRENAM -- input to gadget as described. FORMAT -- name of disk to be formated. RUN -- parameters to be passed to program being run. EXECUTE -- parameters to pass to the file being executed. df0:,df1:,df2:,df3:,ram:,hd0:,hd1:,hd2: ---> Set current directory to the root of the selected device. ALL ---> Select ALL files in the current highlighted source directory, including the ones "scrolled off" the window. ALLDIRS ---> Highlights all directories. ALLWIND ---> Highlights all files in the highlighted source window (9 at a time). This is handy for arciving a directory that is two large for a 3 1/2" disk. ARC ---> Select all Files to be Archived in the source window (highlighted), Enter the name of the new Archive in the Destination box (not highlighted). Then Select ARC. For fast arcing,copy all files to be arced into ram: Archive name does'nt need anything before it,but you can use one in the following format:. In the destination unhighlighted window enter the name of the arc file. If the destination is ram: then the ARC file name would be ram:ARCFILE.ARC. If the destination is ram:DIR1 then the ARC file name would be ram:DIR1/ARCFILE.ARC. no name the file will be created as .ARC. ARCLST ---> This lists all files in the selected ARC files in the highlighted source window. BYTE ---> Adds up the number of bytes of the selected files in the highlighted source directory and displays the sum and the number of files. Remember that each file takes up 512 more bytes than indicated because of its directory entry. CLEAR ---> De-select all selected files in the highlighted source directory. CLRDIRS ---> Clears all selected directories in the highlighted source directory. CLRWIND ---> Clears all files in the highlighted source window. COPY ---> Copy selected files to the directory specified in the unhighlighted destination string gadget. It must be an existing directory path and CAN go across devices. You should be able to enter paths relative to the current directory. CPYDIRS ---> Copies multiple selected directories in the highlighted source directory to the unhighlighted destination directory. DE-ARC ---> Select one or more Arced files,then select DE-ARC.Enter the device name +#? (DF1:#?) or (DF1:DIR1/#?) in the destination unhighlighted window. The files will be un arced and placed on the destination device and directory. See GRENAM for a clearer description. This also works in ram: WARNING!!! if the file being DE_ARCED is already in the destination directory DUX and all previous versions get hung up. I do not know how to fix this. PEOPLE REALLY SHOULD NAME THEIR README FILES AS ex. DUX4.doc. I REALLY HATE when I DEARC a set of FILES and all my README files get over writen because they WERE all called README. DELDIRS ---> Deletes selected directories in the highlighted Source directory. DLDSET ---> On startup this will set the commands selected as in ram: or disk. This command looks at the ram:DUC directory and if the command is located in ram: it assigns the command to ram: other wise it gets the command from the sys:C directory. Once the commands are set in ram: then this gadget becomes the delete directory command described as follows: This will delete the non-empty diretory that you have selected in the file window. You will get and error if the directory is not empty. DELETE ---> Delete selected files in the Highlighted source directory. This will not delete directories. DINFO ---> Used to show the number of USABLE bytes from the DEVICE associated with the unhighlighted destination directory. DSKCPY ---> Disk copy now runs a program to disk copy disks. Any prgram named diskcopy in the C directory will work. Even the amiga disk copy program. This copies the device in the highlighted source window to the device in the unhighlighted destination window. FIRST CLICK THE DISK COPY GADGET ONCE. INSERT SOURCE AND TARGET DISKS AS SPECIFIED. CLICK THIS GADGET AGAIN. THE DISKS WILL BE COPIED. BEFORE DOING ANY OTHER FUNCTION INSERT YOUR WB DISK BACK IN. ON YOUR NEXT COMAND ACTION C: WILL BE ASSIGNED FROM RAM: BACK TO SYS:C. SCRIPT ---> This function is used to play AGIES script files. the command must be in the default C directory as "Player". This function will play the highlighted script files in the source window. EDIT ---> EDIT allows you to use a text editor from within DirUtil. First click on the file you want to edit, then click on the EDIT gadget. To enable this feature, you must rename your text editor to "E" and place it in the SYS:c directory. EXECUTE ---> Now executes an execute file selected in the highlighted source window and passes the parameters from the E window. GTDSEL ---> On startup you can select this gadget first to highlight all the commands used by DUX then select the copy gadget to copy the commands to ram: and then clikc the DLDSET to set the commands in ram: from then on all commands are executed from ram: and this icon defalts to the GETDIR function. You can also select all or click on one or any of the commands and only copy your preferance of commands to ram: for greater versitility. IMPORTANT!!!!! All commands must be CAPS first and then small letters ex. Player,Show,E,Diskcopy... except... NewCLI, EndCLI. If you want to go to a new directory, select a directory in the highlighted source window, and click on this gadget. FORMAT ---> Format a disk. this feature formats a disk. The format comand formats the highlighted source window device selected and names the disk with the file name in the execute "E" window. GRENAM ---> This is my pride and joy! A global rename. Comands are entered in the execute window with the following format. +]abcd adds the characters 'abcd' to the front of all highlighted files. +[.pic Adds the characters '.pic' to the back of all highlighted files -]3 Removes 3 characters from the front of all highlighted files. -[3 Removes 3 characters from the back of all highlighted files. #?abcd>efgh This searches all files highlighted for the string 'abcd' and replaces the string with the string 'efgh'! fileabcd.pic -> fileefgh.pic HTYPE ---> Types a file to the screen in HEX and ASCII 16 numbers at a time. MAKDIR ---> This will create the directory that you have typed in the highlighted source window gadget. You MAY use relative paths. ex: click on the highlited string gadget and enter the following: ram: ---> ram:newdirectoryname ram:DIR1 ---> ram:DIR1/newdirectoryname then click the gadget. The new directory will be made and the current directory will be returned to: ram: or ram:DIR1 respectively. The directory will be created in the highlighted source window. MOVE ---> Same basic principle as RENAME, but assumes that you want to just move the file to a new directory, not actually rename it. It will move multiple files from one directory to another. MOVDEL ---> This is like a rename between devices. What it does is move files from the highlighted source window to the unhighlighted destination window from one device to another and then deletes the source files. NEWCLI---> bring up a new CLI. FILENOTE ---> Place a filenote on the specified source file. This feature takes the specified source file and addes a filenote to it. This feature does only one file at a time. PARENT ---> Go to the parent directory in the highlighted source window PRINT ---> Same as TYPE, but the output goes to PRT: RENAME ---> Renames first selected file or directory to the name or path specified in the highlighted source directory. ex: click on the highlited string gadget and enter the following: ram: ---> ram:newdirectoryname ram:DIR1 ---> ram:DIR1/newdirectoryname then click the gadget. The new directory will be made and the current directory will be returned to: ram: or ram:DIR1 respectively. The directory will be created in the highlighted source window. ROOT ---> Go to the root of the current device in the highlighted source window. RUN ---> "RUNS" the selected files from inside DIRUTIL. If DIRUTIL was called from CLI, any output from the program is directed to the calling CLI. Parameters may be passed to the program by entering them in the E window. SEARCH ---> Searchs the marked group of files for the pattern found in the E window. Upper/lower ARE different. If the \ character is found, the next two characters are converted into a single Hexadecimal digit and used as one character in the overall search. The search pattern was limited to 60 max characters by choice. The search has two modes, SLOW and FAST, which it will choose depending on how much memory is available in the machine. I HIGHLY recommend freeing up enough RAM to allow the FAST mode to run since the SLOW mode is AT LEAST 10 times slower. The SLOW mode search can be aborted by hitting the ESC key. The FAST mode cannot be aborted, it is so fast you will not mind the slight wait. SHOW ---> The show comand must be in the C directory as Show. Select the IFF files you wish to display, one or more, then click on the SHOW gadget. DirUtil will attempt to display these files. This function will work with most, but not all forms of IFF files. If DirUtil can not display the file, an error message will be displayed in the error msg. window and DirUtil will go on to the next selection, if there is one. DirUtil opens a new screen for the IFF file, displays the file, then waits for you to continue. When finished viewing the image, click in the upper-left corner of the image. There is an invisible close gadget located there. DirUtil will close the screen and procede to display the next file. SINFO ---> Used to show the number of USABLE bytes from the DEVICE associated with the highlighted source directory. SWAP ---> Used to flip the Source highlight from one widow directory to the other. TYPE ---> Use this to view standard ASCII (readme, docs, etc) on stdout; usually your CRT. Select the files you want to view, then select the TYPE gadget. A new window, with the window name being the file that you are currently viewing, will open. Use the space bar to advance by one screen, a will advance one line. Entering ESC will advance you to the end of that file. The space bar will then exit from that file. If you have selected to view more than one file, the next will automatically be displayed. After all selected files have been viewed, the window will close, returning you to DirUtil's main screen. NEW NOTES: 6-Aug Because of a problem with locking and unlocking the current directory on a disk that had been removed, I had to make a change to what the program defaulted to (for a current directory). Changes made: - Initial current directory is ALWAYS set to RAM: - if you really confuse it, it will go to RAM: rather than SYS: I forgots : I neglected to mention a rather important feature. If you did something stupid like select all files and then hit delete, and suddenly realize that you REALLY didnt want to do that, there is a STOP IDIOT feature. When you are doing operations on a group of files, CLICKING ANYWHERE IN THE WINDOW WILL ABORT THE OPERATION. This program is "HackerWare", a program that contains executable, source, icon, and docs. PLEASE keep all the files intact Here's a scenerio that results in a BIG bug that bit me squarely in the butt after 4 hours of work! rename duIII.c duIII.c/duIII.c Yes, that means rename duIII.c to duIII.c in the subdirectory called duIII.c. I know that that is not supposed to happen and should fail, BUT, because of one time string concat. bug in Dirutil, it did happen with TERRIBLE consequences. If the files involved were in the RAM: disk, the ORIGINAL file is DELETED and the memory is NOT deallocated, effectively crippling the machine and any work you had done to that file. If the file was on a floppy, it still deletes the file and does not tell the DOS to free up the space, effectively locking out mucho space on your disk and having God only knows what other consequences later on down the road. I sure wish C-A would get it right in the future and I hope someone with closer contacts to the "Gurus" will inform them of this "oversight"! For anyone interested, it takes the 68000 158+ cycles to do a division and 70+ cycles to do a multiply. By changing all the division and multiplication in a program to >> and << shifts, you can save 150 cycles per instruction! (assuming you are dividing by a base 2 number). I did this to the quicksort loops and it helps greatly. Mini-Doc for DirUtil IV vers 2. for utilities made by Greg Cunningham. Output Window - Used by Programs EXECed,and by Arc GRENAM and Show. It can also be used by you as notepad.