Article 20 of mod.amiga.sources:
Relay-Version: version B 2.10.3 4.3bsd-beta 6/6/85; site well.UUCP
Path: well!ptsfa!qantel!ihnp4!inuxc!pur-ee!pucc-j!doc
From: doc@pucc-j.UUCP
Newsgroups: mod.amiga.sources
Subject: DirUtil II
Message-ID: <1737@pucc-j>
Date: 12 Aug 86 02:48:03 GMT
Date-Received: 13 Aug 86 10:50:04 GMT
Sender: doc@pucc-j
Organization: Purdue University Computing Center
Lines: 1226
Approved: doc@pucc-j.UUCP

Reply-To: David Jobusch <jobusch%iowa-state.csnet@CSNET-RELAY.ARPA>

/***********
	D I R U T I L   I I   - a file/disk utility program
		Orignal Version by Chris Nicotra
		Revisions/Enhancements/Fixes by Dave Jobusch
					...umn-cs!isucs1!jobusch

	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.

	Enhancements, suggestions, thanks, money should be sent
	to isucs1!jobusch (Dave Jobusch). Flames, nasty comments
	to /dev/null.

	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:
		C: The current directory. Mess with this. If you
		   enter an existing path, you just selected the
		   new current directory.
		D: The destination gadget. This one is used to enter
		   destination directories, and is also where you
		   enter requests for directories to create.
	    3rd  : Status window. Error descriptions and DOS error
		   numbers appear here. Entries of text into this
		   gadget will result in the destruction of the world.


	df0:,df1:,ram:,hd0: --->
		Set current directory to the root of the selected device.

	ALL --->
		Select ALL files in the current directory, including
		the ones "scrolled off" the window.
	CLEAR --->
		De-select all selected files
	COPY --->
		Copy selected files to the directory specified in the
		second string gadget. Mind you, you CANNOT enter a
		filename here. It must be an existing directory 
		path and CAN go across devices. You should be able
		to enter paths relative to the current directory.
		(I think I fixed that...) 
	DELETE --->
		Delete selected files. Will not delete directories.
	RENAME --->
		Renames first selected file or directory to the name
		or path (on the same device) in the second string
		gadget.
	GETDIR --->
		If you want to go to a new directory, select
		a directory in the file window, and click on this
		gadget. DO NOT USE this to get a directory that is
		listed in the first string gadget! If you must type
		it in, you hit return while in the string gadget -
		then that will be your new current directory.
	MAKEDIR --->
		This will create the directory that you have typed in
		the second string gadget. You MAY use relative paths.
	DELETEDIR --->
		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.
	PARENT --->
		Go to the parent directory
	ROOT --->
		Go to the root of the current device
	LIST --->
		Use this to generate lists of files on your disks. It
		will write out to stdout the files that you have selected.
		If anyone has a neat way to retrieve the volume name of
		a device, please fix this so that the volume name will
		be added to the beginning of each file listed.
		Remember, you need to redirect output to a file if you
		want to save the listings.
	SHOWILBM --->
		If you select this to be included, the program will
		copy a SHOWIBLM command into the ram disk, and will lock
		it (to save it frlom accidental deletion), and then
		will perform consecutive Execute's to show the selected
		files. The show command that has been floating around
		here needs you to click the upper left hand corner
		after showing each file - so there is no loop to wait
		for a picture to show. NOTE: Beware of the 1.1 Execute
		bug that eats 30+ bytes every time.

	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:
			- PWD routine no longer needed, so I combined the
			  dirutil and qsort source into one file. (Follows)
			- so now, to compile, simply

			cc +f +l -s dirutil.c
			ln dirutil.o -lc32


		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.

	Sorry about any problems this has caused. Please don't sue me
	if this program wipes out a disk of yours. I have been using
	the program for about 2 weeks now, and have not munged anything.
	Guru reports would be appreciated.

	Revised program source follows.

#-----This is NOT a shell archive.---#-------------#-------------#----------#
#-----but cut here anyway------------#-------------#-------------#----------#
